Go源码剖析:内置类型

栏目: Go · 发布时间: 7年前

内容简介:Go内置类型定义在$GOROOT/src/builtin/builtin.go中,分为内置函数和内置数据类型3.总结

Go内置类型定义在$GOROOT/src/builtin/builtin.go中,分为内置函数和内置数据类型

  1. 内置数据类型

    • 简单类型

      整型:int,int8,int16,int32,int64
      无符号整型:uint,uint8,uint16,uint32,uint64
      浮点型:float32,float64
      复数:complex64,complex128
      byte,rune,iota,uintptr
    • 复杂类型

      数组 array
      切片 slice
      映射 map
      管道 chan
  2. 内置函数

    • append()

      定义:func append(slice []Type, elems ...Type) []Type

      作用:往切片末尾添加新元素,如果切片的容量不够,会自定创建新切片

      用法:

      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的容量

    • 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.总结

Go语言的内置类型就是以上所有,有任何问题的话可以直接参考源码文件:https://golang.org/src/builtin/builtin.go

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解C#(第3版)

深入理解C#(第3版)

斯基特 (Jon Skeet) / 姚琪琳 / 人民邮电出版社 / 2014-4-1 / 99.00元

本书是世界顶级技术专家“十年磨一剑”的经典之作,在C#和.NET领域享有盛誉。与其他泛泛介绍C#的书籍不同,本书深度探究C#的特性,并结合技术发展,引领读者深入C#的时空。作者从语言设计的动机出发,介绍支持这些特性的核心概念。作者将新的语言特性放在C#语言发展的背景之上,用极富实际意义的示例,向读者展示编写代码和设计解决方案的最佳方式。同时作者将多年的C#开发经验与读者分享,读者可咀其精华、免走弯......一起来看看 《深入理解C#(第3版)》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具