1. string类型变量
// 方式一 var s string s = "sss" fmt.Println(s) // 方式二 var s = "sss" fmt.Println(s) // 方式三 s := "sss" fmt.Println(s)
2. int类型变量
// 方式一 var i int i = 1 fmt.Println(i) // 方式二 var i = 1 fmt.Println(i) // 方式三 i := 1 fmt.Println(i)
3. 数组
// 方式一 var a [3]int // 3表示该数组的元素个数是三个 a[1] = 5 // 给索引是1的元素赋值,没有被赋值的元素默认是0 fmt.Println(a) // 方式二 var b = [...]int{1, 2, 3} // 没有指定数组的元素是个数,但是后面给出了数组的元素,那么数组的长度就是3 fmt.Println(b) // 方式三 c := [3]int{} // 指定数组的长度是3,并没有指定具体的元素是哪些,那么数组中元素均为默认值0 fmt.Println(c) // 方式四 var d = [5]int{1,2} // 定义数组的长度,并且给出元素,因为只给了两个,那么就只有索引0 1的是有值的,其他默认是0 fmt.Println(d) // 方式五 var e = [5]int{1:3,3:1} // 定义数组长度,并且按索引赋值 fmt.Println(e)
4. 切片
var se1[] int fmt.Println(se1) se2 := make([]int, 5, 10) fmt.Println(se2) se3 := []int{1,2,3} fmt.Println(se3) var arr1=[5]int{1,2,3,4,5} var se4 = arr1[:] fmt.Println(se4) var se5 = arr1[2:4] // 左包右不包 fmt.Println(se5)
5. 指针
var a int = 3 fmt.Println(a) var s *int s = &a fmt.Println(s) fmt.Println(*s)
6. map集合类型,需要使用make函数进行初始化,否则只会创建一个 nil map,无法插入键值对
var map1 map[string]string fmt.Println(map1) map2 := make(map[string]string) map2 ["1"] = "one" map2 ["2"] = "two" for key:= range map2{ fmt.Println(map2[key]) } fmt.Println(map2) map3 := map[string]string{"first":"ahh","second":"error","third":"ok"} fmt.Println(map3) delete(map3,"second") fmt.Println(map3)