1. 程式人生 > >GO語言之常量和特殊常量

GO語言之常量和特殊常量

printf 關鍵字 ear 運行 常量表達式 last iot println 數據類型

常量

GO語言的常量就是在程序運行時不會被修改的量

go語言的常量的數據類型只可以是:布爾型、數字型(整數型、浮點型、復數型)、字符串型

示例:

package main

import "fmt"

//常量的數據類型 只可以是布爾型、數字型(整數型、浮點型、復數)、字符串型
func main() {
    const identifier string = "chao"

    //聲明多個相同類型
    const name, last_name, first_name= "yu", "yuyu", "yuyuyu"
    //顯示類型定義
    const age int  =10
    //
隠式類型定義 const year = 5 var age_year int age_year=age*year fmt.Printf("年紀是:%d",age_year) fmt.Println() fmt.Println(name,last_name,first_name) }

多個常量的應用:

package main

import "unsafe"

// 常量還可以用作枚舉
const (
    Unknow = 0
    Female = 1
    Male   = 2

)
//常量可以計算表達式的值len(),cap(),unsafe.Sizeof()等,  常量表達式中,函數必須是內置函數,否則編譯不過
const ( a="abc" b=len(a) c=unsafe.Sizeof(a) ) func main() { println(a,b,c) }

特殊常量

iota 特殊常量 可以看做可以被編譯器修改的變量

每一次const 關鍵字出現時,變量會被重置為0,然後再下一個const出現之前,每出現一次iota,其所代表的數字會自動增加1。

iota 可以被用作枚舉值

const (
    a = iota
    b = iota
    c = iota
)
//因此這裏,第一個iota a是0,新一行使用iota就自動加1,所以是  0,1,2
/*
也可以寫作 const( a = iota b c ) */ func main() { println(a, b, c) }

iota的用法

package main

// iota 特殊常量,一個可以被編譯器修改的常量
// 每一個const關鍵字出現時,被重置為0,然後下一個const出現之前,每一個iota,代表的數字會增加1

import "fmt"
const(
    i=1<<iota
    j=3<<iota
    k
    l
    // k=3<<2  l=3<<3  位運算,理解成  3乘以 2的3次方,3*8 ,所以3<<3等於24  //實在是不懂這是什麽用法
)
func main(){
    fmt.Println("i=",i)
    fmt.Println("j=",j)
    fmt.Println("k=",k)
    fmt.Println("l=",l)
}

GO語言之常量和特殊常量