前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang之旅26_switch

Golang之旅26_switch

作者头像
皮大大
发布2021-03-02 14:58:36
2020
发布2021-03-02 14:58:36
举报
文章被收录于专栏:机器学习/数据可视化

switch语句的特点:

  • 拥有多个分支
  • switch后面可以不跟语句,在case的每个分支中直接添加
  • 需要有default语句
代码语言:javascript
复制
package main

import (
	"fmt"
)

func eval(a, b int, op string) int{
	var result int
	switch op {
	case "+":
		result = a + b
	case "-":
		result = a - b
	case "*":
		result = a * b
	case "/":
		result = a / b
	default:
		panic("unsupport operator:" + op)  // panic 自动报错机制
	}
	return result
}


func grade(score int ) string{
	g := ""
	switch {   // switch 后面可以不跟表达式,直接在case中添加
	case score < 0 || score > 100 :
		panic(fmt.Sprintf("Wrong score: %d",score))
	case score < 60:
		g = "D"
	case score < 80:
		g = "C"
	case score < 90:
		g = "B"
	case score < 100:
		g = "A"
	// default:
	// panic(fmt.Sprintf("Wrong score: %d",score))
	}
	return g

}

func main(){
	//猜手指
	//finger := 3
	//switch finger {
	//case 1:
	//	fmt.Println("大拇指")
	//case 2:
	//	fmt.Println("食指")
	//case 3:
	//	fmt.Println("中指")
	//case 4:
	//	fmt.Println("无名指")
	//case 5:
	//	fmt.Println("小指")
	//default:
	//	fmt.Println("无效输入")

	////分支后面跟多个值
	//number := 5
	//switch  number {
	//case 1,3,5,7,9:
	//	fmt.Println("奇数")
	//case 2,4,6,8,10:
	//	fmt.Println("偶数")
	//default:
	//	fmt.Println("无效输入")
	//}

	result := eval(3, 5 ,"+")
	fmt.Println(result)

	fmt.Println(grade(87))

	//分支后面跟表达式
	number := 5
	switch   {
	case number % 2 == 0 :
		fmt.Println("hello python")
	case number % 2 == 1:
		fmt.Println("hello Go")
	default:
		fmt.Println("无效输入")
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-10-7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档