1. 程式人生 > 其它 >1.2 內建型別和函式

1.2 內建型別和函式

一、內建型別

1.值型別

布林型別
bool 

有符號整數型
int(32 or 64)
int8            取值範圍:-128 to 127
int16           取值範圍:-32768 to 32767
int32           取值範圍:-2147483648 to 2147483647 
int64           取值範圍:-9223372036854775808 to 9223372036854775807

無符號整數型
uint(32 or 64)  
uint8(byte)     取值範圍:0 to 255
uint16          取值範圍:0 to 65535
uint32          取值範圍:0 to 4294967295 
uint64          取值範圍:0 to 18446744073709551615

浮點型別
float32         
float64         

字串
string

複數型別
complex32
complex64

固定長度陣列
array

2.引用型別(指標型別)

slice -- 序列陣列(最常用)
map   -- 對映
chan  -- 管道

二、內建函式

Go 語言擁有一些不需要進行匯入操作就可以使用的內建函式。它們有時可以針對不同的型別進行操作,例如:len、cap 和 append,或必須用於系統級的操作,例如:panic。因此,它們需要直接獲得編譯器的支援。

    append          -- 用來追加元素到陣列、slice中,返回修改後的陣列、slice
    close           -- 主要用來關閉channel
    delete          -- 從map中刪除key對應的value
    panic           -- 停止常規的goroutine  (panic和recover:用來做錯誤處理)
    recover         -- 允許程式定義goroutine的panic動作
    real            -- 返回complex的實部   (complex、real imag:用於建立和操作複數)
    imag            -- 返回complex的虛部
    make            -- 用來分配記憶體,返回Type本身(只能應用於slice, map, channel)
    new             -- 用來分配記憶體,主要用來分配值型別,比如int、struct。返回指向Type的指標
    cap             -- capacity是容量的意思,用於返回某個型別的最大容量(只能用於切片和 map)
    copy            -- 用於複製和連線slice,返回複製的數目
    len             -- 來求長度,比如string、array、slice、map、channel ,返回長度
    print、println  -- 底層列印函式,在部署環境中建議使用 fmt 包

三、內建介面error

type error interface { //只要實現了Error()函式,返回值為String的都實現了err介面
    Error() string
}