0
2.7 Go语言中的if-else
source link: https://sunqi.site/posts/old-sun-learning-go-notes-2-7/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
从本节开始学习Go语言中的控制结构,其实每一种语言的控制结构非常雷同,只是在关键字、格式上略有差别。
基本语法if-else
Go中基本if-else的使用方法
package main
import {
"fmt"
}
func main() {
if 5 > 1 {
fmt.Println("bigger!")
} else {
fmt.Println("smaller!")
}
}
多重条件if-else if-else
这里有几个知识点需要注意:
- Go语言中else if的表达方法
- 对于条件,可以有括号,也可以没有括号,根据计算优先级都是一样的
- 或操作是||,并且是&&,否是!
- Go语言中还有Switch的表达方式,如果有else if太多了,Switch是不错的选择
package main
import "fmt"
func main() {
i := 8
if !( i > 0 ) {
fmt.Println("i is below zero")
} else if ( i > 0 ) && ( i <= 3 ) {
fmt.Println("i is between 0 and 3")
} else if ( i > 3 && i <= 7 ) {
fmt.Println("i is between 4 and 7")
} else if ( ( i > 7 ) && ( i <= 10 ) ) {
fmt.Println("i is between 7 and 10")
} else {
fmt.Println("i is bigger than 10")
}
}
常用类型的空判断
这里罗列出常用变量类型的为空判断,可以看到整型、浮点型默认值等于0,布尔型为false,而数组和Map为nil
package main
import "fmt"
func main() {
var b bool
if !b {
fmt.Printf("bool b default is %v\n", b)
}
var i int
if i == 0 {
fmt.Printf("i == 0: %v\n", i == 0)
}
var f float64
if f == 0 {
fmt.Printf("f == 0: %v\n", f == 0)
fmt.Printf("f == 0.0: %v\n", f == 0.0)
}
var str string
if str == "" {
fmt.Printf("str == \"\": %v\n", str == "")
}
var myarray []int
if myarray == nil {
fmt.Printf("myarray == nil: %v\n", myarray == nil)
}
var mymap map[int]string
if mymap == nil {
fmt.Printf("mymap == nil: %v\n", mymap == nil)
}
}
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK