Go基础_1_15 数组的数据类型

Tutorial: Go初级 Category: Go Published: 2026-04-07 13:58:26 Views: 21 Likes: 0 Comments: 0
package main

import "fmt"

func main() {
    /*
        数据类型:
            基本类型:int,float,string,bool。。
            复合类型:array,slice,map,function,pointer,channel。。

        数组的数据类型:
            [size]type

        值类型:理解为存储的数值本身
            将数据传递给其他的变量,传递的是数据的副本(备份)
                int,float,string,bool,array
        引用类型:理解为存储的数据的内存地址
                slice,map。。
    */

    //1.数据类型
    num := 10
    fmt.Printf("%T\n", num) // int

    arr1 := [4]int{1, 2, 3, 4}
    arr2 := [3]float64{2.15, 3.18, 6.19}
    arr3 := [4]int{5, 6, 7, 8}
    arr4 := [2]string{"hello", "world"}
    fmt.Printf("%T\n", arr1) // [4]int
    fmt.Printf("%T\n", arr2) // [3]float64
    fmt.Printf("%T\n", arr3) // [4]int
    fmt.Printf("%T\n", arr4) // [2]string

    //2.赋值
    num2 := num            // 值传递
    fmt.Println(num, num2) // 10 10
    num2 = 20
    fmt.Println(num, num2) // 10 20

    //数组呢
    arr5 := arr1      // 值传递
    fmt.Println(arr1) // [1 2 3 4]
    fmt.Println(arr5) // [1 2 3 4]
    arr5[0] = 10
    fmt.Println(arr1) // [1 2 3 4]
    fmt.Println(arr5) // [10 2 3 4]

    a := 3
    b := 4
    fmt.Println(a == b)       // 比较a和b的数值是否相等 false
    fmt.Println(arr5 == arr1) // 比较数组的对应下标位置的数值是否相等 false
    //fmt.Println(arr1 == arr2) // invalid operation: arr1 == arr2 (mismatched types [4]int and [3]float64)

}