1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 数据类型: 8 基本类型:int,float,string,bool。。 9 复合类型:array,slice,map,function,pointer,channel。。 10 11 数组的数据类型: 12 [size]type 13 14 值类型:理解为存储的数值本身 15 将数据传递给其他的变量,传递的是数据的副本(备份) 16 int,float,string,bool,array 17 引用类型:理解为存储的数据的内存地址 18 slice,map。。 19 */ 20 21 //1.数据类型 22 num := 10 23 fmt.Printf("%T\n", num) // int 24 25 arr1 := [4]int{1, 2, 3, 4} 26 arr2 := [3]float64{2.15, 3.18, 6.19} 27 arr3 := [4]int{5, 6, 7, 8} 28 arr4 := [2]string{"hello", "world"} 29 fmt.Printf("%T\n", arr1) // [4]int 30 fmt.Printf("%T\n", arr2) // [3]float64 31 fmt.Printf("%T\n", arr3) // [4]int 32 fmt.Printf("%T\n", arr4) // [2]string 33 34 //2.赋值 35 num2 := num // 值传递 36 fmt.Println(num, num2) // 10 10 37 num2 = 20 38 fmt.Println(num, num2) // 10 20 39 40 //数组呢 41 arr5 := arr1 // 值传递 42 fmt.Println(arr1) // [1 2 3 4] 43 fmt.Println(arr5) // [1 2 3 4] 44 arr5[0] = 10 45 fmt.Println(arr1) // [1 2 3 4] 46 fmt.Println(arr5) // [10 2 3 4] 47 48 a := 3 49 b := 4 50 fmt.Println(a == b) // 比较a和b的数值是否相等 false 51 fmt.Println(arr5 == arr1) // 比较数组的对应下标位置的数值是否相等 false 52 //fmt.Println(arr1 == arr2) // invalid operation: arr1 == arr2 (mismatched types [4]int and [3]float64) 53 54 }