1、for range结构
在go语言中,循环结构只有一个关键字for,但它的循环模式依旧是多样化的。
for init;condition;post{
}这是c中标准的for循环结构,有初值、条件和步长。
for condition{
}这个则是模拟c中while循环,需要在循环体中改变循环变量
for{
}这个就是无限循环了,相当于c中的for(;;)
而go语言中还有一种特定的结构,for range
package main import "fmt" func main(){ language:=[]string{"C","C++","Python","Go","Java"} for key,value:=range language{ fmt.Printf("%d %s\n",key,value) } }
for range结构会返回索引和值,运行结果如下:
2、var()定义变量
在go语言中可以用var同时定义类型不同的变量
package main import "fmt" var( a int = 10 b float32 = 3.1415926 c bool = true d []int = []int{1,2,3,4,5} ) func main(){ fmt.Printf("%T %v\n",a,a) fmt.Printf("%T %v\n",b,b) fmt.Printf("%T %v\n",c,c) fmt.Printf("%T %v\n",d,d) }
注意数组的定义方式,%T输出变量的类型,%v输出变量的值,运行结果如下:
对于没有赋值的变量,go语言会初始化为0,false,或""空字符串。
3、类型转换
package main import "fmt" func main(){ var a int = 5 var b float32 = 9.9 var c float32 = float32(a) var d int = int(b) fmt.Printf("%v %v\n",c,d) }
T(v)语句会把v变量的类型转换为T类型,运行结果如下:
这种语法和python中的类型强转类似,而且浮点型转整型时舍去小数位。
4、常量的定义
package main import "fmt" func main(){ const a = 10 }采用const关键字的方式定义,不能用:=进行定义
有疑问加站长微信联系(非本文作者)