基本语法
基本逻辑
注释:同Java。
花括号:如function起始和循环条件中的花括号不能换行,不同于Java
缩进:不同于python,对缩进没有要求,行尾不用“;”分隔
变量定义、计算
package main import ( "fmt" ) func main() { // 定义变量、数据类型,默认数据=Java 此处为空字符串 var str string // 可以直接指定数据,便不必指定数据类型了 var i = 10086 // 这种默认为int类型 var x = 'a' //语法糖 f := 10010.123 // 简单数组 iparray := []string{"192.168.2.11", "192.168.2.12", "192.168.2.13"} // 简单map,这是无序的,注意最后一行的行尾逗号 mymap := map[string]string{ "key1": "value1", "key2": "value2", } //打印出来 fmt.Printf("\n str:%T, %s \n i:%T, %d \n f:%T, %f \n iparray:%T, %s", str, str, i, i, f, f, iparray, iparray) /** str:string, i:int, 10086 f:float64,10010.123000 iparray:[]string, [192.168.2.11 192.168.2.12 192.168.2.13 **/ }
循环分支
package main import ( "fmt" ) func main() { //for 循环 for i = 1; i <= 5; i++ { fmt.Println("i =", 100/i) } //while 循环,可以加入一个条件 for { fmt.Println("i =", 100/i) i++ if i>10{ break } } //foreach iparray := []string{"192.168.2.11", "192.168.2.12", "192.168.2.13"} for index, element := range iparray { fmt.Println(index, element) } /** 0 192.168.2.11 1 192.168.2.12 2 192.168.2.13 */ //foreach map mymap := map[string]string{ "key1": "value1", "key2": "value2", } for key, value := range mymap{ fmt.Println(key, value) } /** 结果不唯一,顺序不固定 key1 value1 key2 value2 */ //只循环value for _, value := range mymap{ fmt.Println(key) } }
条件分支
package main import ( "fmt" ) func main() { i := 10 if i>10{ fmt.Println("i>10") }else{ fmt.Println("i<=10") } //可加入statement if i++;i>10{ fmt.Println("i>10!") } }