溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

go語言中常量的用法

發(fā)布時間:2020-06-10 17:05:24 來源:億速云 閱讀:470 作者:元一 欄目:編程語言

概念

Go(又稱Golang)是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言。

羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)于2007年9月開始設(shè)計Go,稍后Ian Lance Taylor、Russ Cox加入項目。Go是基于Inferno操作系統(tǒng)所開發(fā)的。Go于2009年11月正式宣布推出,成為開放源代碼項目,并在Linux及Mac OS X平臺上進行了實現(xiàn),后來追加了Windows系統(tǒng)下的實現(xiàn)。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言”。 目前,Go每半年發(fā)布一個二級版本(即從a.x升級到a.y)。

常量含義 : 

go 語言中 常量表示固定的值,常量不能在賦予其他值,常量可以是全局常量,也可以是函數(shù)內(nèi)部的局部常量。常量的值不可修改,常量表達式的值在編譯期計算,而不是在運行期。存儲在常量中的數(shù)據(jù)類型只可以是布爾型、數(shù)字型(整數(shù)型、浮點型和復數(shù))和字符串型。

常量使用const 定義

定義常量

package main

import "fmt"

func changl()  {
    const x = 55
    fmt.Println(x)
}

func main()  {
    changl()

    輸出:55 
}

修改常量,報錯

package main

import "fmt"

func chang1()  {
    const x = 55
    x = 34
    fmt.Println(x)
}

func main()  {
    chang1()

輸出:
報錯  cannot assign to x
}

在const 使用iota

func changl2()  {
    const(
        Monday = iota +1 
        Tue
        Wed
        Thu
        Fri
        Sat
        Sun
    )
    fmt.Println(Monday,Tue,Wed,Thu,Fri,Sat,Sun)
}

在主函數(shù)中調(diào)用
func main()  {
changl2()

}

輸出內(nèi)容:
1 2 3 4 5 6 7

iota 從0開始

在常量中使用 iota 可以進行位運算

func changl3()  {
    const(
        Open = 1 << iota  // 相當2的0 次方
        Close //  位移1位 相當與 2 的1次方,以下相同
        Pending 
        Crashing
    )
    fmt.Println(Open,Close,Pending,Crashing)
}

在主函數(shù)中調(diào)用
輸出  1 2 4 8

iota 使用總結(jié)

  • iota只能被使用在const限定中,相當于一個常量的計數(shù)器
  • iota相當于一個枚舉值,默認從0開始,在一個const中,會進行+1,
  • iota不會因為const中被賦值了固定值,就不再增加,const中每有一個常量就+1,例如 x和y ,y并沒有因為x被賦值為10,就是2,而是3
  • 每次進入一個新的const,iota都會重新開始計算

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI