Go語言中如何使用變量

今天就跟大家聊聊有關(guān)Go語言中如何使用變量,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

巢湖網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

                           一、變量定義的格式

C++的變量定義表達(dá)式如下所示:

Type name = expression;例如 int number = 10;  // 表示的是 一個(gè)數(shù)據(jù)類型是int,名字叫做 number 的變量,它的初始值是 10。

Go的變量定義表達(dá)式如下所示:

var name type = expression ,例如 var number int  = 10  // 表示的是 一個(gè)數(shù)據(jù)類型是int,名字叫做 number 的變量,它的初始值是 10。

區(qū)別:

1.C++ 需要在一句話的結(jié)尾 加上一個(gè);號(hào),用來表示語句結(jié)束,Go語言則不需要;號(hào),它是通過換行來表示該語句結(jié)束的。

2.C++ 和Go的語句定義格式完全不同,C++是 Type name = expression; Go是var name type = expression

3.C++和Go語言沒有賦初始值的變量的初始化數(shù)值不相同。

1)C++的初始值不指定的話,例如int number; number的值有可能是0,也有可能是隨機(jī)值,這個(gè)取決于number 是一個(gè)局部變量還是一個(gè)全局變量或者static變量,局部變量的話,number的值是個(gè)隨機(jī)值,全局和static變量的話,number的值會(huì)是0。

2) Go的初始值不指定的話,例如var number int; 這里會(huì)被初始化為0。Go語言里面不存在未初始化的變量。Go規(guī)定,如果表達(dá)式省略,初始化數(shù)值,數(shù)字對應(yīng)0,布爾型對應(yīng)false,字符串對應(yīng)"",對于接口和引用類型為nil。

4.C++和Go語言的變量聲明,Go更加的強(qiáng)大

C++ 中 變量沒有初始化的話,可以采用變量列表的方式,否則只能一條語句一個(gè)變量,例如:

int a,b,c; // 其中a,b,c 都必須是整型,類型必須一致。int a = 10; // 必須一個(gè)變量一條語句
     

Go 中書寫方式更為靈活多變,例如:

var a, b, c int // 表示a,b,c 都是int型數(shù)據(jù),同時(shí)初始化為0var a , b, c = true, 10, "hello" // 省略了數(shù)據(jù)類型,并且 a,b,c可以分別是幾種不同的數(shù)據(jù)類型,其中a是bool型,b是int型, c是string型。
     

5.Go語言中有變量和短變量聲明兩種方式,C++ 中則只有變量

短變量聲明格式為:name := expression // name的類型通過expression來決定。因?yàn)樗绦。`活,主要用于局部變量的聲明和初始化。

var聲明的變量通常為那些跟初始化表達(dá)式類型不一致的局部變量,或者后面才對變量賦值的情況。

1)個(gè)人認(rèn)為短變量聲明存在的主要原因是,Go語言的 多種類型變量可以在同一行賦值的支持,例如 a, b := 1,true  // 在這里a,b可以都是新的變量并且不是初始化的時(shí)候,或者a,b中有一個(gè)是新變量即可。var變量對于后者的支持就不太好,必須是兩行才能保證,如下所示:

var a , b = 0 , false // step1:a, b必須都得先定義出來a,b = 1, true  // step 2: a,b 在進(jìn)行賦值
     

而短變量只需要一句就可以表示。

2)_表示短變量里面,定義了但是不使用的變量,常用于返回值多個(gè)的時(shí)候,其中一個(gè)不被使用的變量。(備注,Go中定義了變量一定要被使用,不然編譯出錯(cuò)。)例如:

_, a :=  func()  //  其中func有兩個(gè)返回值,而其中第一個(gè)返回值,不被使用。
     

二、變量的作用域和生存周期

在談C++和Go的區(qū)別之前,我們先看一看,作用域和生命周期是什么東西。

作用域:存在于編譯階段,用來表示變量或者方法的適用范圍,一般都是大括號(hào)內(nèi)的那一部分,叫做一個(gè)程序塊,這一塊內(nèi)容,便是一個(gè)作用域。

生命周期:是執(zhí)行階段的概念,從一個(gè)變量實(shí)例被創(chuàng)建,到該變量被釋放的時(shí)間周期。

區(qū)別:

1.C++語言,在作用域范圍這個(gè)概念下,{}之內(nèi)聲明的變量,在該代碼段可以被使用,在該{}之外生成的同名變量,會(huì)被覆蓋掉。

Go語言,在作用域概念下,與C++語言并無區(qū)別。不過短變量聲明使用有一個(gè)點(diǎn)要注意。例如:

var num intvar b string{    a, num :=  false,  5  // 這里的num會(huì)被認(rèn)為是一個(gè)新變量    b  =  “hello”  //  這里的b與{}外的b是同一個(gè)變量}

看完上述內(nèi)容,你們對Go語言中如何使用變量有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁題目:Go語言中如何使用變量
瀏覽路徑:http://bm7419.com/article44/pssghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、App開發(fā)定制網(wǎng)站、域名注冊、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)