最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Golang中變量與常量的聲明與使用

 更新時(shí)間:2023年04月04日 10:45:10   作者:water  
變量、常量的聲明與使用是掌握一門(mén)編程語(yǔ)言的基礎(chǔ),這篇文章主要為大家詳細(xì)介紹了Golang中變量與常量的聲明與使用,需要的可以參考一下

變量

變量的類型

變量的作用是用來(lái)存儲(chǔ)數(shù)據(jù),不同的變量保存的數(shù)據(jù)類型有可能是不一樣的,一般常見(jiàn)的數(shù)據(jù)類型有:整型、浮點(diǎn)型、布爾型等。

go作為一個(gè)強(qiáng)類型語(yǔ)言,go中的每一個(gè)變量都有自己的類型,并且變量必須經(jīng)過(guò)聲明才能開(kāi)始使用。

聲明變量

go中的變量需要聲明后才能使用,并且在同一個(gè)作用域中不支持重復(fù)聲明。并且go語(yǔ)言的變量聲明后必須使用。

變量聲明的方式

標(biāo)準(zhǔn)聲明

一般聲明變量的格式為

// var 變量名 變量類型

var name string
var age int
var isShow bool

批量聲明

當(dāng)在聲明變量的時(shí)候每次都需要寫(xiě)var關(guān)鍵字會(huì)顯得比較繁瑣,在go中還支持批量的聲明變量

var (
    name string
    age int
    isShow bool
    num float32
)

變量的初始化

go中在聲明變量的時(shí)候,會(huì)自動(dòng)對(duì)變量對(duì)應(yīng)的內(nèi)存區(qū)域進(jìn)行初始化操作,每個(gè)變量都會(huì)被初始化成其類型的默認(rèn)值,比如:整型和浮點(diǎn)型變量的默認(rèn)值為0.字符串變量的默認(rèn)值為空字符串。布爾值變量的默認(rèn)值為false。切片、函數(shù)、指針變量的默認(rèn)為nil

但是在聲明變量的時(shí)候?yàn)槠渲付ǔ跏贾?。變量初始化的?biāo)準(zhǔn)格式為

// var 變量名 類型 = 值
var name string = "water"
var age int = 18
// 也可以一次定義多個(gè)變量
var name,age = "water", 20

變量類型推導(dǎo)

很多時(shí)候可以將變量的類型省略,編輯器可以根據(jù)等號(hào)右邊的值來(lái)推導(dǎo)出變量的類型

var name = "water"
var age = 18

短變量聲明

在函數(shù)內(nèi)部,可以使用:=的聲明方式初始化變量

package main

import (
    "fmt"
)

// 全局變量
var name = "water"

func main() {
    a := 1
    b := 2
    fmt.Println(a,b)
}

匿名變量

在使用多重賦值時(shí),如果想忽略一個(gè)值,可以使用匿名變量,匿名變量一般用一個(gè)下劃線_表示,如下

func getValue()(int,string){
    return 18,"water"
}

func main() {
    a,_ := getValue()
    _,b := getValue()
    fmt.Println("a=",a)
    fmt.Println("b=",b)
}

匿名變量不占用命名空間,不會(huì)分配內(nèi)存,所以匿名變量之間不存在重復(fù)聲明,變量聲明需要注意以下問(wèn)題:

  • 函數(shù)外的每個(gè)語(yǔ)句都必須以關(guān)鍵字開(kāi)始比如:var、const、func
  • :=不能在函數(shù)外使用
  • _多用于占位,表示忽略值

常量

相比較于變量而言,常量是恒定不變的值,定義一些不會(huì)改變的值。常量的聲明和變量聲明非常相似,只是把var換成了const,常量在定義的時(shí)候必須賦值

const a = 123
const b = 456

常量一旦聲明就不會(huì)再發(fā)生變化了。而且多個(gè)常量也可以一起聲明

const (
    a = 123
    b = 456
)

如果同時(shí)聲明多個(gè)常量時(shí),省略了值則表示和上面一行的值相同。

const (
    a = 1
    b
    c
)

這樣a、b、c的值都是100

iota

iota是go語(yǔ)言的常量計(jì)數(shù)器,只能在常量的表達(dá)式中使用。iota在const關(guān)鍵字中第一次出現(xiàn)時(shí)為0,然后const中每新增一行常量聲明就將加一計(jì)數(shù)一次。

const (
    a = iota // 0
    b // 1
    c // 2
    d // 3
)

常見(jiàn)的使用iota的技巧

使用_跳過(guò)一些值

const (
    a = iota //0
    b // 1
    _
    d // 3
)

在iota中間插入其他值

const (
    a = iota // 0
    b = 20
    c // 2
    d // 3
)

const e = iota // 0

多個(gè)iota定義一行

const (
    a,b = iota + 1,iota + 2 // 1,2
    c,d // 2,3
    e,f // 3,4
)

到此這篇關(guān)于淺析Golang中變量與常量的聲明與使用的文章就介紹到這了,更多相關(guān)Golang變量 常量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • GO 切片刪除元素的三種方法

    GO 切片刪除元素的三種方法

    本文主要介紹了GO 切片刪除元素,根據(jù)要?jiǎng)h除元素的位置有三種情況,分別是從開(kāi)頭位置刪除、從中間位置刪除和從尾部刪除,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • Go語(yǔ)言中排序的3種實(shí)現(xiàn)方法

    Go語(yǔ)言中排序的3種實(shí)現(xiàn)方法

    在寫(xiě)代碼過(guò)程中,排序是經(jīng)常會(huì)遇到的需求,這篇文章主要為大家介紹三種常用的方法,文中的示例代碼簡(jiǎn)潔易懂,需要的小伙伴可以參考下
    2023-08-08
  • Go?語(yǔ)言的?:=的具體使用

    Go?語(yǔ)言的?:=的具體使用

    本文主要介紹了Go?語(yǔ)言的?:=的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Golang中四種gRPC模式舉例詳解

    Golang中四種gRPC模式舉例詳解

    gRPC是一種進(jìn)程間通信技術(shù),在微服務(wù)和云原生領(lǐng)域都有著廣泛的應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Golang中四種gRPC模式的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Go?Wails開(kāi)發(fā)桌面應(yīng)用使用示例探索

    Go?Wails開(kāi)發(fā)桌面應(yīng)用使用示例探索

    這篇文章主要為大家介紹了Go?Wails的使用示例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • golang基礎(chǔ)之waitgroup用法以及使用要點(diǎn)

    golang基礎(chǔ)之waitgroup用法以及使用要點(diǎn)

    WaitGroup是Golang并發(fā)的兩種方式之一,一個(gè)是Channel,另一個(gè)是WaitGroup,下面這篇文章主要給大家介紹了關(guān)于golang基礎(chǔ)之waitgroup用法以及使用要點(diǎn)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Go?語(yǔ)言?json解析框架與?gjson?詳解

    Go?語(yǔ)言?json解析框架與?gjson?詳解

    這篇文章主要介紹了Go語(yǔ)言json解析框架與gjson,JSON?解析是我們不可避免的常見(jiàn)問(wèn)題,在Go語(yǔ)言中,我們可以借助gjson庫(kù)來(lái)方便的進(jìn)行json屬性的提取與解析,需要的朋友可以參考一下
    2022-07-07
  • Golang負(fù)載均衡和?;钤O(shè)計(jì)原理示例探究

    Golang負(fù)載均衡和?;钤O(shè)計(jì)原理示例探究

    這篇文章主要為大家介紹了Golang負(fù)載均衡和?;钤O(shè)計(jì)原理示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go 1.22中的for循環(huán)新特性詳解

    Go 1.22中的for循環(huán)新特性詳解

    在 Go 語(yǔ)言中,for 循環(huán)是實(shí)現(xiàn)迭代的主要方式,Go 中的 for 循環(huán)非常靈活,有多種使用方式,本文將給大家詳細(xì)的介紹一下Go 1.22中的for循環(huán)新特性,感興趣的朋友可以參考下
    2024-02-02
  • Golang網(wǎng)絡(luò)模型netpoll源碼解析(具體流程)

    Golang網(wǎng)絡(luò)模型netpoll源碼解析(具體流程)

    本文介紹了Golang的網(wǎng)絡(luò)模型netpoll的實(shí)現(xiàn)原理,本文將從為什么需要使用netpoll模型,以及netpoll的具體流程實(shí)現(xiàn)兩個(gè)主要角度來(lái)展開(kāi)學(xué)習(xí),感興趣的朋友跟隨小編一起看看吧
    2024-11-11

最新評(píng)論

连江县| 海门市| 龙陵县| 呼图壁县| 玛纳斯县| 博乐市| 拜城县| 安顺市| 石棉县| 利川市| 泰兴市| 永和县| 宜兴市| 伊通| 江油市| 枝江市| 瑞安市| 隆尧县| 蓝田县| 建湖县| 伊吾县| 长岛县| 通道| 上犹县| 榆中县| 牟定县| 张家港市| 乌恰县| 葫芦岛市| 平江县| 吉木萨尔县| 阿拉善右旗| 中卫市| 延吉市| 垫江县| 黔南| 辉南县| 沈丘县| 宁明县| 舟曲县| 台北市|