變數和常量是程式設計中必不可少的部分,也是很好理解的一部分。
識別符號
在程式語言中識別符號就是程式設計師定義的具有特殊意義的詞,比如變數名、常量名、函式名等等。 go語言中識別符號由字母數字和_(下劃線)組成,並且只能以字母和_開頭。 舉幾個例子:abc, _, _123, a123。
關鍵字
關鍵字是指程式語言中預先定義好的具有特殊含義的識別符號。 關鍵字和保留字都不建議用作變數名。
go語言中有25個關鍵字:
此外,go語言中還有37個保留字。
變數的來歷
程式執行過程中的資料都是儲存在記憶體中,我們想要在**中操作某個資料時就需要去記憶體上找到這個變數,但是如果我們直接在**中通過記憶體位址去操作變數的話,**的可讀性會非常差而且還容易出錯,所以我們就利用變數將這個資料的記憶體位址儲存起來,以後直接通過這個變數就能找到記憶體上對應的資料了。
變數型別
變數(variable)的功能是儲存資料。不同的變數儲存的資料型別可能會不一樣。經過半個多世紀的發展,程式語言已經基本形成了一套固定的型別,常見變數的資料型別有:整型、浮點型、布林型等。
go語言中的每乙個變數都有自己的型別,並且變數必須經過宣告才能開始使用。
變數宣告
go語言中的變數需要宣告後才能使用,同一作用域內不支援重複宣告。 並且go語言的變數宣告後必須使用。
標準宣告
go語言的變數宣告格式為:
變數宣告以關鍵字var開頭,變數型別放在變數的後面,行尾無需分號。 舉個例子:
批量宣告
每宣告乙個變數就需要寫var關鍵字會比較繁瑣,go語言中還支援批量變數宣告:
變數的初始化
go語言在宣告變數的時候,會自動對變數對應的記憶體區域進行初始化操作。每個變數會被初始化成其型別的預設值,例如: 整型和浮點型變數的預設值為0。 字串變數的預設值為空字串。 布林型變數預設為false。 切片、函式、指標變數的預設為nil。
當然我們也可在宣告變數的時候為其指定初始值。變數初始化的標準格式如下:
var 變數名 型別 = 表示式
舉個例子:
或者一次初始化多個變數
型別推導
有時候我們會將變數的型別省略,這個時候編譯器會根據等號右邊的值來推導變數的型別完成初始化。
短變數宣告
在函式內部,可以使用更簡略的 := 方式宣告並初始化變數。
匿名變數
在使用多重賦值時,如果想要忽略某個值,可以使用匿名變數(anonymous variable)。 匿名變數用乙個下劃線_表示,例如:
匿名變數不占用命名空間,不會分配記憶體,所以匿名變數之間不存在重複宣告。 (在lua等程式語言裡,匿名變數也被叫做啞元變數。)
注意事項:
函式外的每個語句都必須以關鍵字開始(var、const、func等)
:=不能使用在函式外。
_多用於佔位,表示忽略值。
相對於變數,常量是恆定不變的值,多用於定義程式執行期間不會改變的那些值。 常量的宣告和變數宣告非常類似,只是把var換成了const,常量在定義的時候必須賦值。
宣告了pi和e這兩個常量之後,在整個程式執行期間它們的值都不能再發生變化了。
多個常量也可以一起宣告:
const同時宣告多個常量時,如果省略了值則表示和上面一行的值相同。 例如:
上面示例中,常量n1、n2、n3的值都是100。
iota
iota是go語言的常量計數器,只能在常量的表示式中使用。
iota在const關鍵字出現時將被重置為0。const中每新增一行常量宣告將使iota計數一次(iota可理解為const語句塊中的行索引)。 使用iota能簡化定義,在定義列舉時很有用。
舉個例子:
幾個常見的iota示例:
使用_跳過某些值
iota宣告中間插隊
定義數量級 (這裡的<
多個iota定義在一行
邏輯型常量有幾個值 VB常量與變數的正確使用
變數和常量是vb語句的重要部分,也是vb程式設計的基礎知識內容。今天我們就共同來學習一下這方面的內容。vb中的變數與常量 變數是指程式在執行過程中其值可以改變的量。如何宣告變數 1.隱式宣告 只是變數,不經宣告.直接使用 2.顯示宣告 變數宣告後再使用的方式成為顯式宣告 強制宣告的兩種方式 1 工具...
go語言基礎1 變數,常量
變數識別符號 既變數名稱 以字母和下劃線開頭 abc abc 1.關鍵字 不一一枚舉了 學習了go之後就知道了 2.變數型別 常見的有整型 浮點型 字串 布林型等 3.go語言中每個變數都有自己的型別 且變數宣告後才能使用 go 語言變數宣告標準方式 var 變數名 變數型別 例子 var name...
go語言使用 基礎語法 1 之常量
在使用go語言開發時,不可避免的會使用一些常量。本篇文章對常量做乙個簡單的總結。1 基本介紹 2 語法 const identifier type value3 宣告常量 1 宣告乙個常量 const max 10000 const max 100002 宣告乙個指定型別的常量 const limi...