Go語言之基本資料型別以及一些規範
阿新 • • 發佈:2019-02-17
go基本資料型別
1.bool,一個位元組,值是true或者false,不可以用0或者1表示(java中boolean佔用4個位元組,而boolean作為陣列出現時,每個boolean佔用1個位元組) 2.int/uint(帶符號為與不帶符號位的int型別):根據平臺不同是32位或者64位 3.intx/uintx:x代表任意位數,例如:int3,代表佔3bit的int型別 4.byte佔用8位,一個位元組,相當於uint8,不帶符號位 5.floatx:由於沒有double型別,所以float64就是double。float32小數精確到7位,float64小數精確到15位。 6.complex64/complex128:複數型別 7.uintptr:儲存指標用的型別,也是隨著平臺改變而改變,因為指標的長度就是隨平臺而變。 8.其他型別值:array,struct,string 9.引用型別:slice,map,chan 10.介面型別:interface 11.函式型別:func
型別零值
零值不等於空值,是說當變數被宣告為某種型別後的預設值。
一般情況下,值型別預設為0,bool預設為false,string為空串。
變數宣告與賦值
示例: package main import ( "fmt" "../wang" ) var ( aa = 1 bb = 2 cc = 3 ) const ( a1 = 1 a2 = 2 a3 = 3 ) type ( w1 int w2 int w3 string ) func main() { var aaa w3 = "haha" var bbb w3 bbb = "wawawa" wang.Wang1() fmt.Println("Hello World!" + bbb + "" + aaa) }
- import,var,const,type,定義多個時,可以用括號簡寫。也可以使用並行方式,區域性變數只能使用並行方式。
- import裡面的包名是相對於此go檔案的路徑為起始點。上面的../wang就是證明,代表的是物理路徑,並不是每個檔案上面寫的package。那個pkg名是引用包裡內容是字首,例如:wang.Wang1()。
- const宣告常量必須要接著賦值。
- type表示定義型別名,就像資料庫裡面的差不多。這裡定義了w1,w2,w3分別讓他們代表int,int,string。算是這三種原始型別的別名,那麼在後面就要寫這些別名了。並且不能省略寫。
- 區域性變數定義時不能採用全域性變數這種大括號形式,採用並行方式。
- 定義與變數宣告時:var a int =10;var a=10;a:=10——->第一種是標準寫法,第二,三種表示定義並賦值,編譯器根據賦值判斷是哪一種型別。第三種這種簡略寫法不能定義全域性變數,編譯器會報錯。
- go語言中私有變數,常量,函式等,打頭字母是小寫,公有的打頭字母大寫。
- 只有main包中有main函式,main函式不能有返回值,main小寫。
- 定義的區域性變數,引入的包必須要用,如果不用,編譯報錯。