Go語言變量類型

Go語言變量類型的代碼演示

basic_demo.go文件

package main

import (
    "fmt"
)

const (
    I      = 100
    PI     = 3.1415
    PREFIX = "Go_"
)

var (
    i      int
    pi     float32
    prefix string
)

func main() {

    // 分組聲明變量和常量
    fmt.Println(i)
    fmt.Println(PREFIX)

    // 一維數組
    a := [3]int{1, 2, 3}
    b := [10]int{1, 2, 3}
    c := [...]int{1, 2, 3}
    fmt.Println(a, b, c)

    // 二維數組
    doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}}
    fmt.Println(doubleArray)
    easArray := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}}
    fmt.Println(easArray)

    // 動態數組 slice並不是一個真正的動態數組,而是一個引用類型。
    // 和聲明array一樣,只是少了長度
    // slice := []byte{'a','b','c'}
    // slice可以從一個數組或一個已經存在的slice中再次聲明
    var ar = [10]byte{'a', 'b', 'c', 'd', 'e', 'd'}
    var slice1, slice2 []byte
    slice1 = ar[2:5]
    slice2 = ar[6:]
    slice3 := ar[:]
    slice4 := slice3[:4]
    fmt.Printf("%v,%v,%v", slice1, slice2, slice3)
    fmt.Println(slice4)

    // 字典map 格式爲map[keyType]valueType
    // 1.直接聲明
    // var numbers map[string] int
    // 2.簡短的map聲明方式
    // numbers := make(map[string]int)
    // numbers["one"] = 1
    // numbers["two"] = 2
    numbers := map[string]int{"one": 1, "two": 2}
    fmt.Println(numbers)
    // 查找有沒有對應的key值
    if _, ok := numbers["one"]; ok {
        fmt.Println("有key值爲one的鍵值對!")
    }
    // 刪除指定key的value
    delete(numbers, "two")
    fmt.Println(numbers)

    // 變量未填充前的默認值,“零值”
    // int,int8,int32,int64,rune(rune的實際類型是int32),float32,float64 --> 0
    // uint byte(byte的實際類型是uint8) --> 0x0
    // bool --> false
    // string --> ""

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章