go
变量使用 var 开头,常量使用const开头,var可以省略 const不能省略,且在声明的时候就给出值。
iota 是一个特殊的常量,在const中每新增加一行,自增一(类似一个行计数器):
const (
a = iota //0
b //1
c //2
d = "ha" //独立值,iota += 1
e //"ha" iota += 1
f = 100 //iota +=1
g //100 iota +=1
h = iota //7,恢复计数
i //8
)
运算符包括:
算术运算:+ - * / % ++ --
关系运算: > < == != >= <=
逻辑运算:&& || !
位运算 : & | ^ >> <<
赋值运算: = += -= *= /= %= <<= >>= &= |= ^=
取地址和取值运算:& *
条件表达式:
1、if 布尔表达式 {
}
2、if 布尔表达式 {
if 布尔表达式 {
}
}
3、if 布尔表达式{
}else{
}
4、switch var1 {
case val1:
...
case val2:
...
default:
...
}
switch 条件是可选的,可以去掉,如以上的var1可以省略。
switch还可以多条件匹配,如:
switch{
case 1,2,3,4:
....
default:
.....
}
switch语句里,每个case后不需要break,匹配到一个case后其后的case自动跳过,不执行。如果想要执行后面的case可以在当前case的最后加上“fallthrough"
举例:
switch {
case false:
fmt.Println("1、case 条件语句为 false")
fallthrough
case true:
fmt.Println("2、case 条件语句为 true")
if ... {
break //这种情况下break执行后,下面的case就不会执行了
}
fallthrough
case false:
fmt.Println("3、case 条件语句为 false")
fallthrough
case true:
fmt.Println("4、case 条件语句为 true")
case false:
fmt.Println("5、case 条件语句为 false")
fallthrough
default:
fmt.Println("6、默认 case")
}
以上执行结果为:
2、case 条件语句为 true
3、case 条件语句为 false
4、case 条件语句为 true
Type Switch 是switch的特殊情况,用于对一个接口类型进行判断。举例如下:
func main() {
var x interface{}
switch i := x.(type) {
case nil:
fmt.Printf(" x 的类型 :%T",i)
case int:
fmt.Printf("x 是 int 型")
case float64:
fmt.Printf("x 是 float64 型")
case func(int) float64:
fmt.Printf("x 是 func(int) 型")
case bool, string:
fmt.Printf("x 是 bool 或 string 型" )
default:
fmt.Printf("未知型")
}
}
网友评论