golang 中定義不同型別的變數,不是通過宣告就是通過 make 或 new 。 未顯式初始化時,將被賦予乙個預設值,該預設值便為該型別的零值。不同的型別有不同的零值。
型別型別名
零值字元型別
byte, rune
0數值型別
float32, float64, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, complex64, complex128
0布林型別
bool
false
字串sting
「」(空字串)
slice
type
nilmap
map[type]type
nil指標
uintptr
nil函式
func
nil介面
inte***ce
nil通道
chan
nil其中,type 表示具體的型別。特別地,型別 error 為介面型別,故零值為 nil,其定義如下:
type error inte***ce
示例**:
package main
import (
"fmt"
)type student struct
type studentprint inte***ce
func main()
執行結果:
stu=&
slice= map=map pointer=inte***ce=func=chan=
[1] go程式語言規範.零值
[2] package builtin
[3] golang–資料型別
golang的可空型別和零值
可空型別可以置為nil 在go裡面,基本型別都是不可空型別 var a int nil var a int default value of int,cannot be nil fmt.println a 0 0 types zero value int,int8,int16,int32,int64...
golang 值型別與引用型別的區別
1最本質的區別 值型別 記憶體中變數儲存的是具體的值 比如 var num int num存放的是具體的int值 但是變數在記憶體中的位址可以通過 num 來獲取 例如 var ptr int num 2.值型別,引用型別都包括哪些 基本的資料型別 int系列,float系列,bool,string...
Golang 中函式作為值與型別
在 go 語言中,我們可以把函式作為一種變數,用 type 去定義它,那麼這個函式型別就可以作為值傳遞,甚至可以實現方法,這一特性是在太靈活了,有時候我們甚至可以利用這一特性進行型別轉換。作為值傳遞的條件是型別具有相同的引數以及相同的返回值。go 語言的型別轉換基本格式如下 type name ex...