佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 關(guān)于Golang變量初始化/類型推斷/短聲明的問題

關(guān)于Golang變量初始化/類型推斷/短聲明的問題

熱門標(biāo)簽:服務(wù)外包 百度競價排名 呼叫中心市場需求 地方門戶網(wǎng)站 Linux服務(wù)器 鐵路電話系統(tǒng) AI電銷 網(wǎng)站排名優(yōu)化

視頻: https://www.bilibili.com/video/BV1Zh411k7iB/

聲明變量同時初始化

上節(jié)我們了解了三種變量聲明的語法,并且知道未初始化的變量初始值都是其類型的零值

其實只需要在聲明時賦予初始值,即可進(jìn)行初始化

下面針對三種變量聲明語法進(jìn)行初始化:

[1] var name type

[2] var name1, name2 type

[3]

var (
  name1 type1
  name2 type2
)

類型推斷

如果變量聲明時附帶初始值,Go會自動推斷出初始值的類型,這時可以省略掉變量類型的聲明:

通過fmt.Printf函數(shù)和%T標(biāo)記(后面再了解,這里先記下),我們最終得知name變量的類型最終推斷為string

疑問: var pi = 3.14,pi變量的類型是什么? 是float32還是float64? 試試便知:

Go會根據(jù)數(shù)值的精度(precision)來推斷變量類型:

  • 整數(shù) -> int
  • 浮點數(shù) -> float64
  • 復(fù)數(shù) -> complex128

有了類型推斷(Type inference),我們有能力可以一行聲明多個不同類型的變量:

變量短聲明

Go還提供了一種更加簡潔的用來聲明初始化變量的語法,叫做變量短聲明(Short hand declaration)

變量短聲明,使用:=操作符,它有點像一個海象

利用變量短聲明,再次化簡上個例子的代碼:

在Go中,變量不能重復(fù)聲明,否則會報錯

使用短聲明:=時也一樣

因為短聲明要求左邊至少有一個未聲明的變量

第二行:=對于name來說是重新賦值,對于age來說是聲明并初始化

短聲明還有一個約束 —— 只能在函數(shù)體內(nèi)使用(后面講到變量作用域時再討論 =。=)

總結(jié)

到此這篇關(guān)于關(guān)于Golang變量初始化/類型推斷/短聲明的問題的文章就介紹到這了,更多相關(guān)Golang變量類型推斷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • golang中值類型/指針類型的變量區(qū)別總結(jié)
  • Golang學(xué)習(xí)筆記(二):類型、變量、常量
  • golang如何獲得一個變量的類型

標(biāo)簽:銅川 湘潭 衡水 黃山 仙桃 崇左 湖南 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于Golang變量初始化/類型推斷/短聲明的問題》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    和田市| 皋兰县| 页游| 广水市| 靖西县| 温宿县| 双柏县| 东乌珠穆沁旗| 镇平县| 疏附县| 南丹县| 抚顺市| 綦江县| 连州市| 海南省| 巴彦淖尔市| 固始县| 丽水市| 凉城县| 百色市| 襄城县| 尼木县| 根河市| 绵竹市| 边坝县| 万山特区| 浦县| 大田县| 沁阳市| 克山县| 石楼县| 陵水| 大关县| 鹤岗市| 偏关县| 抚顺市| 佳木斯市| 武山县| 明光市| 威宁| 安义县|