Golang的數值型態主要分成兩種:整數與浮點數
整數代表不帶有小數點的數值(.00也不算是整數)
型態 | 說明 | 範例 |
---|---|---|
uint | unsigned integer,意味沒有符號的整數 | 0,1,2,3 |
int | integer,整數 | -3,-2,0,1 |
浮點數囊括任何帶有小數點的數值(.00也算在浮點數唷)
型態 | 說明 | 範例 |
---|---|---|
float | 任何帶有小數點的數值 | 2.00, 3.14, -5.12 |
型態 | 範例 |
---|---|
string | "This is a book", "Hello World!" |
布林值就是true or false的數值
講了這三種型態,但其實Golang不像C語言或Java,在變數宣告的一開始是不需要指定型別的
例如:
var myName
這樣即可
如果宣告時順便初始化可以這樣寫:
var myName = "troy555"
或是有更簡潔的寫法:
myName := "troy555"
當然也可以一次宣告很多個:
myName, myAge, isPassed := "troy555", 18, true
你可能會問,那我這樣寫會發生什麼事?
myName, myAge, isPassed := "troy555", 18
那個isPassed將不會被初始化
如果想要指定變數型態的話只需要在var後面加上指定型態即可:
var (
myName string = "troy555"
myAge int = 18
isPassed boolean = true
)
記得每個變數要不同行,中間不需要逗號分隔
最後有個比較特別的:常數(const)
常數為一個固定值,當然之後在程式內是不允許被修改的
const pi = 3.14
const hello_str = "Hello World!"
你好
不知道是不是版本問題, myName, myAge, isPassed := "troy555", 18
出現 assignment mismatch: 3 variables but 2 values
go version : go version go1.10.1 windows/amd64
其實Golang不像C語言或Java,在變數宣告的一開始是不需要指定型別的
這句話跟我認知的不太一樣@@,Go應該是靜態型別語言,在一開始他必須進行型別宣告。
以這邊的例子 myName
應該要進行型別宣告
var myName string