go的基础语法 | 青训营

45 阅读2分钟

go的基本语法 nil表示为一个空值 go结尾无任何字符,不以分号结尾。 1、变量初始化 可以直接初始化,自动识别类型。 float32代表单精度,float64代表双精度。float后只能跟32、64 (1)、var a = "sdf" (2)、b := a+"foo" (3)、类型跟在变量的后面。eg:var c,d int =1,2 var变量,const常量。 if else 条件无括号,且if需要单独一行,内容无法与if同一行,条件可以。 循环语句只有for语句。条件也无括号。可使用continue和break。 switch语句,无需加break,不会一直完成所有语句,自动结束。且条件可以加在case的后面,更加清晰的使用。 数组初始化: 一维数组: var a [5] int a[4] = 100 b := [5]int{1,2,3,4,5} 二维数组: var twoD [2][3]int 切片:创造一个切片 s := make ([]string,3) s[0] = "a" s[1] = "b" s[2] = "c" 类似于数组,用len可得出切片的长度。 append函数可以在原切片的结尾加上想加上的字符。 s = append(s,"d") //[a b c d] map--字典或哈希表(可动态扩容) map是储存键值对(key-value)的集合。 键必须是唯一的,不能重复。键还是无序的,不能通过索引查找。 键值的类型可以是任意类型 创建一个map m := make(map[string]int) m2 := map[string]int{"one": 1,"two": 2}

  1. 添加或更新元素:使用 map[key] = value 语法,如果 key 不存在,则新增一个键值对;如果 key 已经存在,则更新对应的值。
  2. 对元素进行访问:使用 map[key] 语法,可以获取指定键对应的值
  3. 删除元素:使用 delete() 函数,通过指定键来删除对应的键值对
  4. 判断元素是否存在:r,ok := m["unkown"]//r表示获取指定键对应的值,ok表示该对应的元素是否存在。0 flase range一般用来遍历。一般有索引和值两项。 如果只需要索引或者值其中一项,可以使用下划线 _ 来忽略另一项 arr := [4]int{1, 2, 3, 4} for _, value := range arr { fmt.Println(value) } 可用来迭代。