Golang 的型別與零值

2021-09-26 04:28:34 字數 948 閱讀 7019

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...