變數的定義有三種方式:
1、明確宣告變數型別
string name = 'bob';
我們可以在定義變數的時候直接指定變數的型別,如上我們指定的變數name的型別為string,就表明變數name只能儲存string型別的值,指定其它型別的值就會在編譯階段報錯。
2、通過關鍵字 var 宣告
通過var宣告的變數編譯器會自行推斷變數的型別
var name;
name = 'bob';
上面我們雖然沒有指定的變數的型別,但編譯器會智慧型推斷出變數name的型別為string型別。
我們在第一行宣告了變數name,並沒有指定name的型別,只有在第二行我們給變數name賦值的時候,編譯器才能推斷出變數name的型別為string。
我們在看下如下**:
var name;
name = 'bob';
name = 2;
上面這段**是不會編譯通過的,因為在第二行編譯器已經推斷出變數name的型別為string,變數型別就不能再改變了,如果我們在把其它型別的值賦給變數name編譯器就會報錯,所以第三行就會報錯。
3、通過dynamic宣告變數
通過dynamic宣告的變數表明變數的型別是動態的,什麼意思的看如下**:
dynamic name;
name = 'bob';
name = 2;
**第一行我們宣告變數name為dynamic型別,表明變數name的型別是動態的,不是固定的型別,第二行我們把字串'bob'賦給了變數name,第三行我們又把整數2賦給了變數name,此時name的值為整數2,編譯器不會報錯。
總結「型別 變數名」 :變數型別是固定的,變數宣告的時候指定;
「var 變數名」:變數型別是固定的,變數的型別是在賦值的時候推斷出來的;
「dynamic 變數名":變數型別是不固定的,可以用任意型別值賦值給它;
Go語言從入門到精通 變數的宣告
變數 variable 的功能是儲存使用者的資料。不同的邏輯有不同的物件型別,也就有不同的變數型別。經過半個多世紀的發展,程式語言已經形成一套固定的型別,這些型別在不同的程式語言中基本是相通的。常見變數的資料型別有 整型 浮點型 布林型 結構體等。go 語言作為c語言家族的新派代表,在c語言的定義方...
Go語言從入門到精通 變數的宣告
變數 variable 的功能是儲存使用者的資料。不同的邏輯有不同的物件型別,也就有不同的變數型別。經過半個多世紀的發展,程式語言已經形成一套固定的型別,這些型別在不同的程式語言中基本是相通的。常見變數的資料型別有 整型 浮點型 布林型 結構體等。go 語言作為c語言家族的新派代表,在c語言的定義方...
Shell程式設計從入門到精通 變數和引用
1.1 什麼是變數顧名思義,變數就是程式語言中的乙個可以變化的量,當然,可以變化的是變數的值。1.2 變數的命名在shell中,變數名可以由字母 數字或者下劃線組成,並且只能以字母數字或者下劃線開頭,變數名的長度並不做限制,但是為了提高程式的可讀性,建議使用者使用相對較短的字串作為變數名。在通常情況...