iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
Modern Web

golang後端入門分享系列 第 5

Day5-Go變數介紹

變數型態

在學習 Go 語言前,我們先了解一下一些基本的變數型態(type),可簡單分成以下幾種:

字串

Go 語言裡,字串必須用雙引號框起來,裡頭不為程式。

https://ithelp.ithome.com.tw/upload/images/20210913/20137500gzuIVBOi7y.png

整數

Go 語言,整數可分成兩種,int(一般的整數)和 uint(無符號整數,即非負整數),而這兩種整數又有位元差別,分成8、16、32、64bit,但在使用上,最常使用的為 int32 和 int64,而這些型態雖然都為整數,但不能將不同位元的整數一起運算,程式邊一時會報錯。

https://ithelp.ithome.com.tw/upload/images/20210913/20137500kdf439BQyy.png

浮點數

Go語言中浮點數即為數學上的實數,跟整數一樣,有位元的差別,一樣較常用的為 float32 和 float64。

https://ithelp.ithome.com.tw/upload/images/20210913/20137500n6PXuKw7Yh.png

Go語言中進行運算時,是將數字先轉換成二進位,,而大多數浮點數表示成二進位後是近似值,以0.1為例子,將期以二進位表示是相當複雜的,為0.00011001100...,我們這裡以一個例子舉例,下面程式是在進行0.2 + 0.4的運算,我們看一下結果為何:

package main
 
import (
   "fmt"
)
 
func main() {
   var f1 float64 = 0.2
 
   var f2 float64 = 0.4
 
   var f3 float64 = 0.6
 
   fmt.Println(f1+f2, f3) //0.6000000000000001 0.6
}

大家應該都會想說0.2 + 0.4應該等於0.6,但結果為0.6000000000000001,即是我們剛剛說的原因,程式會先將數字先轉換成二進位再進行運算。

布林值

布林值為判斷對錯的一個值,其值只分為兩種,為 true 和 false,常常與 if else 敘述一起使用(if else敘述式在後面章節介紹)。

https://ithelp.ithome.com.tw/upload/images/20210913/20137500HISXOfi4kv.png


變數宣告

Go在宣吿變數的分法,分為兩種:

var

此宣告變數為宣告變數型態(type),可以先不必宣告變數的值,而是以 default 值帶入,可以參考以下程式碼:

package main
 
import (
   "fmt"
)
 
func main() {
   var f1 int64
 
   var f2 float64
 
   var f3 string
 
   var f4 bool
 
   fmt.Println(f1, f2, f3, f4) // 0 0  false
}

而此種變數宣告方法,可以在 function 外宣告變數,不一定要在 function 裡做,

package main
 
import (
   "fmt"
)
 
var f1 int64
 
func main() {
   fmt.Println(f1) // 0
}

:=

此種變數宣告方式,為直接宣告數值,且他無法在 function 外宣告,必須在 function 內使用,可參考以下程式碼:

package main
 
import (
   "fmt"
)
 
func main() {
   f1 := 0 
 
   fmt.Println(f1) // 0
}

結語

今天帶來 Go 語言比較基礎的變數型態,當然之後還會介紹其他比較複雜型態。感謝各位讀者今天的閱讀!


上一篇
Day4-Go Go Go!第一隻 golang!
下一篇
Day6-Go敘述
系列文
golang後端入門分享30

尚未有邦友留言

立即登入留言