欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年02月05日 11:31:44   作者:nbody1996  
這篇文章主要介紹了關(guān)于Golang變量初始化/類型推斷/短聲明的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

聲明變量同時(shí)初始化

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

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

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

[1] var name type

[2] var name1, name2 type

[3]

var (
  name1 type1
  name2 type2
)

類型推斷

如果變量聲明時(shí)附帶初始值,Go會(huì)自動(dòng)推斷出初始值的類型,這時(shí)可以省略掉變量類型的聲明:

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

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

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

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

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

變量短聲明

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

變量短聲明,使用:=操作符,它有點(diǎn)像一個(gè)海象

利用變量短聲明,再次化簡(jiǎn)上個(gè)例子的代碼:

在Go中,變量不能重復(fù)聲明,否則會(huì)報(bào)錯(cuò)

使用短聲明:=時(shí)也一樣

因?yàn)?strong>短聲明要求左邊至少有一個(gè)未聲明的變量

第二行:=對(duì)于name來(lái)說(shuō)是重新賦值,對(duì)于age來(lái)說(shuō)是聲明并初始化

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

總結(jié)

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

相關(guān)文章

  • Golang設(shè)計(jì)模式之適配器模式介紹和代碼示例

    Golang設(shè)計(jì)模式之適配器模式介紹和代碼示例

    適配器是一種結(jié)構(gòu)型設(shè)計(jì)模式, 它能使不兼容的對(duì)象能夠相互合作,可擔(dān)任兩個(gè)對(duì)象間的封裝器, 它會(huì)接收對(duì)于一個(gè)對(duì)象的調(diào)用, 并將其轉(zhuǎn)換為另一個(gè)對(duì)象可識(shí)別的格式和接口,本文將通過(guò)代碼示例詳細(xì)給大家介紹Golang的適配器模式
    2023-06-06
  • Go實(shí)現(xiàn)生產(chǎn)隨機(jī)密碼的示例代碼

    Go實(shí)現(xiàn)生產(chǎn)隨機(jī)密碼的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Go實(shí)現(xiàn)生產(chǎn)隨機(jī)密碼的,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2023-09-09
  • 詳解Go語(yǔ)言如何解析帶注釋的json

    詳解Go語(yǔ)言如何解析帶注釋的json

    標(biāo)準(zhǔn)的json格式是不帶注釋,但是有時(shí)候?yàn)榱朔奖憷斫鈐son中各字段的含義,需要支持帶注釋的json,這篇文章主要介紹了Go語(yǔ)言解析帶注釋json的相關(guān)方法,希望對(duì)大家有所幫助
    2024-03-03
  • go使用Viper管理配置文件的方法步驟

    go使用Viper管理配置文件的方法步驟

    在項(xiàng)目開(kāi)發(fā)中,需要把一些配置配置提取出來(lái),方便配置和管理,可以使用Viper工具,Viper 是 Go 應(yīng)用程序的完整配置解決方案,也支持從環(huán)境變量中讀取,本文給大家介紹了go使用Viper管理配置文件的方法步驟,需要的朋友可以參考下
    2024-07-07
  • Go語(yǔ)言服務(wù)器開(kāi)發(fā)之客戶端向服務(wù)器發(fā)送數(shù)據(jù)并接收返回?cái)?shù)據(jù)的方法

    Go語(yǔ)言服務(wù)器開(kāi)發(fā)之客戶端向服務(wù)器發(fā)送數(shù)據(jù)并接收返回?cái)?shù)據(jù)的方法

    這篇文章主要介紹了Go語(yǔ)言服務(wù)器開(kāi)發(fā)之客戶端向服務(wù)器發(fā)送數(shù)據(jù)并接收返回?cái)?shù)據(jù)的方法,實(shí)例分析了客戶端的開(kāi)發(fā)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • Go語(yǔ)言應(yīng)該什么情況使用指針

    Go語(yǔ)言應(yīng)該什么情況使用指針

    go語(yǔ)言的指針類型和C/C++的指針類型用法是一樣的,那么Go語(yǔ)言應(yīng)該什么情況使用指針,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-07-07
  • go 語(yǔ)言字符類型 byte 與 rune案例詳解

    go 語(yǔ)言字符類型 byte 與 rune案例詳解

    這篇文章主要介紹了go 語(yǔ)言字符類型 byte 與 rune案例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Go結(jié)合反射將結(jié)構(gòu)體轉(zhuǎn)換成Excel的過(guò)程詳解

    Go結(jié)合反射將結(jié)構(gòu)體轉(zhuǎn)換成Excel的過(guò)程詳解

    這篇文章主要介紹了Go結(jié)合反射將結(jié)構(gòu)體轉(zhuǎn)換成Excel的過(guò)程詳解,大概思路是在Go的結(jié)構(gòu)體中每個(gè)屬性打上一個(gè)excel標(biāo)簽,利用反射獲取標(biāo)簽中的內(nèi)容,作為表格的Header,需要的朋友可以參考下
    2022-06-06
  • 淺析go語(yǔ)言如何實(shí)現(xiàn)協(xié)程的搶占式調(diào)度的

    淺析go語(yǔ)言如何實(shí)現(xiàn)協(xié)程的搶占式調(diào)度的

    go語(yǔ)言通過(guò)GMP模型實(shí)現(xiàn)協(xié)程并發(fā),為了避免單協(xié)程持續(xù)持有線程導(dǎo)致線程隊(duì)列中的其他協(xié)程饑餓問(wèn)題,設(shè)計(jì)者提出了一個(gè)搶占式調(diào)度機(jī)制,本文會(huì)基于一個(gè)簡(jiǎn)單的代碼示例對(duì)搶占式調(diào)度過(guò)程進(jìn)行深入講解剖析
    2024-04-04
  • Golang?range?slice?與range?array?之間的區(qū)別

    Golang?range?slice?與range?array?之間的區(qū)別

    這篇文章主要介紹了Golang?range?slice?與range?array?之間的區(qū)別,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07

最新評(píng)論