Go源碼剖析:內置類型

Go內置類型定義在$GOROOT/src/builtin/builtin.go中,分爲內置函數和內置數據類型
  1. 內置數據類型golang

    • 簡單類型數組

      整型:int,int8,int16,int32,int64
      無符號整型:uint,uint8,uint16,uint32,uint64
      浮點型:float32,float64
      複數:complex64,complex128
      byte,rune,iota,uintptr
    • 複雜類型app

      數組 array
      切片 slice
      映射 map
      管道 chan
  2. 內置函數函數

    • append()
      定義:func append(slice []Type, elems ...Type) []Type
      做用:往切片末尾添加新元素,若是切片的容量不夠,會自定建立新切片
      用法:ui

      1. slice = append(slice, elem1, elem2)//依次添加多個元素
         2. slice = append(slice, anotherSlice...)//批量添加全部元素
         3. slice = append([]byte("hello"),"world")//特例,容許字符串添加在字節切片後面
    • copy()
      定義;func copy(dst, src []Type) int
      做用:把源切片拷貝到目標變量,返回拷貝的元素數量指針

    • copy()
      定義;func copy(dst, src []Type) int
      做用:把源切片拷貝到目標變量,返回拷貝的元素數量
    • delete()
      定義;func delete(m map[Type]Type1, key Type)
      做用:根據key,刪除映射中的一個元素
    • len()
      定義;func len(v Type) int
      做用:返回數組,切片,channel的長度
    • cap()
      定義;func cap(v Type) int
      做用:返回數組,切片,channel的容量code

    • make()
      定義;func make(t Type, size ...IntegerType) Type
      做用:分配而後初始化指定的(切片,映射,管道),並返回該值
    • new()
      定義;func new(Type) *Type
      做用:分配指定類型的地址空間,返回指針
    • complex(),real(),imag()
      做用:comples()構造一個複數,real()返回實部,imag()返回虛部
    • close()
      定義;func close(c chan<- Type)
      做用:關閉一個雙向或者send-only的管道,字符串

    • panic(),recover()
      定義;源碼

      func panic(v interface{})
        做用:終止goroutine運行,並當即調用該函數內的defer
        func recover() interface{}
        做用:須要定義在defer裏面
    • print(),println()
      做用:打印信息

3.總結io

Go語言的內置類型就是以上全部,有任何問題的話能夠直接參考源碼文件:https://golang.org/src/builtin/builtin.go
相關文章
相關標籤/搜索