Go命名、變量和常量怎么定義
這篇“Go命名、變量和常量怎么定義”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Go命名、變量和常量怎么定義”文章吧。
命名
Go語言中的函數名、變量名、常量名、類型名、語句標號和包名等所有的命名,都遵循一個簡單的命名規則:一個名字必須以一個字母(Unicode字母)或下劃線開頭,后面可以跟任意數量的字母、數字或下劃線。大寫字母和小寫字母是不同的:heapSort和Heapsort是兩個不同的名字。
Go語言中類似if和switch的關鍵字有25個(均為小寫)。關鍵字不能用于自定義名字,只能在特定語法結構中使用。
此外,還有大約30多個預定義的名字,比如int和true等,主要對應內建的常量、類型和函數。
變量
變量是幾乎所有編程語言中最基本的組成元素,變量是程序運行期間可以改變的量。
從根本上說,變量相當于是對一塊數據存儲空間的命名,程序可以通過定義一個變量來申請一塊數據存儲空間,之后可以通過引用變量名來使用這塊存儲空間。
變量聲明
Go語言的變量聲明方式與C和C++語言有明顯的不同。對于純粹的變量聲明, Go語言引入了關鍵字var,而類型信息放在變量名之后,示例如下:
var?v1?int ????var?v2?int ????//一次定義多個變量 ????var?v3,?v4?int? ????var?( ????????v5?int ????????v6?int
變量初始化
對于聲明變量時需要進行初始化的場景, var關鍵字可以保留,但不再是必要的元素,如下所示:
var?v1?int?=?10?//?方式1 ????var?v2?=?10?????//?方式2,編譯器自動推導出v2的類型 ????v3?:=?10????????//?方式3,編譯器自動推導出v3的類型 ????//出現在?:=?左側的變量不應該是已經被聲明過 ????var?v4?int ????v4?:=?2?//err
變量賦值
var?v1?int ????v1?=?123 ????var?v2,?v3,?v4?int ????v2,?v3,?v4?=?1,?2,?3????//多重賦值 ????i?:=?10 ????j?:=?20 ????i,?j?=?j,?i????//多重賦值
匿名變量
_(下劃線)是個特殊的變量名,任何賦予它的值都會被丟棄:
_,?i,?_,?j?:=?1,?2,?3,?4 func?test()?(int,?string)?{ ????return?250,?"sb"
常量
在Go語言中,常量是指編譯期間就已知且不可改變的值。常量可以是數值類型(包括整型、浮點型和復數類型)、布爾類型、字符串類型等。
字面常量(常量值)
所謂字面常量(literal),是指程序中硬編碼的常量,如:
123 3.1415??//?浮點類型的常量 3.2+12i?//?復數類型的常量 true??//?布爾類型的常量 "foo"?//?字符串常量
常量定義
const?Pi?float64?=?3.14 ????const?zero?=?0.0?//?浮點常量,?自動推導類型 ????const?(?//?常量組 ????????size?int64?=?1024 ????????eof????????=?-1?//?整型常量,?自動推導類型 ????) ????const?u,?v?float32?=?0,?3?//?u?=?0.0,?v?=?3.0,常量的多重賦值 ????const?a,?b,?c?=?3,?4,?"foo" ????//?a?=?3,?b?=?4,?c?=?"foo"????//err,?常量不能修改
iota枚舉
常量聲明可以使用iota常量生成器初始化,它用于生成一組以相似規則初始化的常量,但是不用每行都寫一遍初始化表達式。在一個const聲明語句中,在第一個聲明的常量所在的行,iota將會被置為0,然后在每一個有常量聲明的行加一。
const?( ????x?=?iota?//?x?==?0 ????y?=?iota?//?y?==?1 ????z?=?iota?//?z?==?2 ????w????????//?這里隱式地說w?=?iota,因此w?==?3。其實上面y和z可同樣不用"=?iota" ) const?v?=?iota?//?每遇到一個const關鍵字,iota就會重置,此時v?==?0 const?( ????h,?i,?j?=?iota,?iota,?iota?//h=0,i=0,j=0?iota在同一行值相同 ) const?( ????a???????=?iota?//a=0 ????b???????=?"B" ????c???????=?iota?????????????//c=2 ????d,?e,?f?=?iota,?iota,?iota?//d=3,e=3,f=3 ????g???????=?iota?????????????//g?=?4
以上就是關于“Go命名、變量和常量怎么定義”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注蝸牛博客行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。
評論