package main
import "fmt"
func main() {
//todo:这第一个最容易忽视并犯错
a := 7 / 2
fmt.Printf("a的类型 %T,a=%v\n", a, a) //a的类型 int,a=3
b := 9.9 / 3
fmt.Printf("b的类型 %T,b=%v\n", b, b) //b的类型 float64,b=3.3
c := 8.8 / 2.2
fmt.Printf("c的类型 %T,c=%v\n", c, c) //c的类型 float64,c=4
var d float64 = 10
e := d / 2
fmt.Printf("e的类型%T,e=%v\n", e, e) //e的类型float64,e=5
f := 8 / 2.2
fmt.Printf("f的类型%T,f=%v\n", f, f) //f的类型float64,f=3.6363636363636362
//todo:&&短路与 和 ||短路非
//只会打印"wowowo"
if 10 < 9 && test1() { //判断到10<9是false后,由于是&&,就不会再判断test()了
fmt.Println("hahaha")
} else {
fmt.Println("wowowo")
}
//只会打印"xixixi"
if 10 > 9 || test1() { //判断到10>9是true,由于是||,就不会再判断test()了
fmt.Println("xixixi")
}
//会打印test1...和yayaya
if 10 < 9 || test1() { //判断10<9是false,由于是|| 于是接着判断test1()
fmt.Println("yayaya")
}
//会打印test1...和wuwuwu
if 10 > 9 && test1() { //判断10>9是true,由于是&& 于是接着判断test1()
fmt.Println("wuwuwu")
}
}
func test1() bool {
fmt.Println("test1...")
return true
}
03-01
1138
07-07
670
10-24
357