既然上一站大致分享了 var
跟 :=
的變數宣告方式,那這一站就來跟大家分享其他有用的變數知識 ! !
上一站有跟大家說過,var
跟 :=
,它們兩之間還有一個差異就是一個可以寫在函式的外部,這又是什麼意思呢? 我馬上展示給你看
//這是寫在函式內部的 var
package main
import ("fmt")
func main() {
var a string
var b int = 2
var c = 3
a = "Jack"
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
輸出結果
這就是很平常的出輸出結果
//這是寫在函式外部的 var
package main
import ("fmt")
var a string
var b int = 2
var c = 3
func main() {
a = "Jack"
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
輸出結果
可以很明顯的看到我的 var 值是宣告在func main()
的外面,這就是可以宣告在函式外部的 var 魅力之一,為了證明我不是用同一個截圖,我的結果跑程式碼的時間都不一樣!!!!如果還不相信的話,你也可以自行跑跑看 :+1:
也有人會發問,既然 var 可以寫在函式外面的話,那我是不是也可以用 := 來實現這個結果? 那我就直接呈現結果給大家看 !
package main
import ("fmt")
a := 5
func main() {
fmt.Println(a)
}
輸出結果呢?顯然是這樣
顯示了語法錯誤,所以請大家要特別注意~
package main
import ("fmt")
func main() {
var a int
var b string
var c bool
var d float64
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
}
輸出結果
你會驚訝怎麼沒有輸入值,但是他還是會跑值出來,那是因為他有默認值,像是 int
的默認值為 0
,而string
的默認值為 " "
所以才會是空白的,至於bool
的默認值為 false
,最後float64
的默認值為 0
那當然除了 var
可以寫在函式外面,其實還有很多種宣告方式
//一次把宣告變數跟值都打完
package main
import ("fmt")
func main() {
var a, b = 6, "Hello"
c, d := 7, "World!"
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
}
//把 var 利用括號把自己宣告的所有變數框成一塊
package main
import ("fmt")
func main() {
var (
a int
b int = 1
c string = "hello"
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
以上這些都是關於 Go 語法中的 var 宣告變數的其他種方式,當然每個方式都有它的優點及缺點,就看你要如何去使用它 !!!
那下一站我們要跟大家分享有關於 float 的知識 !!!