Go 语言提供了多种条件语句,比如 if
if...else
switch
select(待补充)
1.if && if...else
这俩和C语言中的大致相同,最大的不同可能就是if后面不加括号了吧
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:31:14
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
var array = [10]int{2: 1, 4: 1, 6: 1}
for _, i := range array {
// fmt.Println()
if i == 1 {
fmt.Println("YES")
} else {
fmt.Println("NO")
}
}
}
2.switch 语句
这个switch语句,参照着C语言还是挺好理解的,不过这个case后面不用打大括号这个,倒是挺有Python那味儿了
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:36:44
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
var grade string = "A"
switch grade {
case "A":
fmt.Println("优秀")
fmt.Println("优秀1")
case "B":
fmt.Println("良好")
case "C":
fmt.Println("中等")
default:
fmt.Println("不及格")
}
}
还有一种写法
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:38:59
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
var grade string = "A"
switch {
case grade == "A":
fmt.Println("优秀")
fmt.Println("优秀1")
case grade == "B":
fmt.Println("良好")
case grade == "C":
fmt.Println("中等")
default:
fmt.Println("不及格")
}
}
3.Type switch
这个switch就不是用来判断值的了,而是用来判断数据类型的
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:52:42
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
var grade interface{}
grade = "A"
switch grade.(type) {
case nil:
fmt.Println("nil")
case float32:
fmt.Println("float32")
case string:
fmt.Println("string")
case bool, int:
fmt.Println("bool 或 int")
default:
fmt.Println("我管他是什么类型")
}
}
4.fallthrough
使用fallthrough的switch语句会强制执行下一个case而不会去判断是否条件为true
仅支持下方这种例子,不过这玩意儿基本上不咋用就对了
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 18:42:43
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
var grade string = "A"
switch {
case grade == "A":
fmt.Println("优秀")
fmt.Println("优秀1")
fallthrough
case grade == "B":
fmt.Println("良好")
case grade == "C":
fmt.Println("中等")
default:
fmt.Println("不及格")
}
}
作者:NorthCity1984
出处:https://grimoire.cn/golang/go4.html
版权:本文《Go 学习笔记:条件语句》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
出处:https://grimoire.cn/golang/go4.html
版权:本文《Go 学习笔记:条件语句》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任