iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 4
0

變數型態

數值

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!"

上一篇
30天就Go(3):操作指令及Hello World!
下一篇
30天就Go(5):for迴圈
系列文
30天就Go:教你打造LINE自動回話機器人23

2 則留言

0
cool21540125
iT邦新手 5 級 ‧ 2018-08-09 01:31:01

你好
不知道是不是版本問題, myName, myAge, isPassed := "troy555", 18 出現 assignment mismatch: 3 variables but 2 values

go version : go version go1.10.1 windows/amd64

0
Cynthia
iT邦新手 5 級 ‧ 2019-03-19 16:47:48

其實Golang不像C語言或Java,在變數宣告的一開始是不需要指定型別的
這句話跟我認知的不太一樣@@,Go應該是靜態型別語言,在一開始他必須進行型別宣告。

以這邊的例子 myName 應該要進行型別宣告

var myName string

我要留言

立即登入留言