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 }