Go数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

Go 语言内置对以下这些基本数据类型的支持:

  • 布尔类型:只可以是常量 true 或者 false。一个简单的例子:var b bool = true
  • 整型:int8、byte、int16、int、uint、uintptr 等
  • 浮点类型:float32、float64
  • 复数类型:complex64、complex128
  • 字符串:string
  • 字符类型:rune
  • 错误类型:error
  • 派生类型: 包括:
    (a) 指针类型(Pointer)
    (b) 数组类型
    (c) 结构化类型(struct)
    (d) Channel 类型
    (e) 函数类型
    (f) 切片类型
    (g) 接口类型(interface)
    (h) Map 类型

相较于 PHP,多出了字符类型(单个字符)、错误类型和复数类型,PHP 通过系统级配置函数 error_reporting 定义应用的错误报告级别,不区分单独的字符与字符串类型,Go 还对整型的精度及是否有符号(正数还是负数)做了区分,PHP 则只有一个 int 类型标识整型数据,另外 PHP 通过 floatdouble 来区分浮点型精度,这一点也是 Go 语言 和 PHP 不一样的地方。

此外,Go 语言也支持以下这些复合类型:

  • 指针(pointer)
  • 数组(array)
  • 切片(slice)
  • 字典(map)
  • 通道(chan)
  • 结构体(struct)
  • 接口(interface)

PHP 并不支持指针类型,对于数组、切片、字典,PHP 则通过数组类型一网打尽,后面三个类型 PHP 也不支持,通道类型主要用于并发编程,结构体类似 PHP 中的类(class),Go 语言还把接口单独作为一个类型提出来,在进行对象编程的时候会经常用到。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。