在 Go 编程语言中,数据类型用于声明函数和变量。

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

数据类型:

  1. 布尔型
  2. 布尔型的值只可以是常量 true 或者 false,默认为 false
  3. 一个简单的例子:var b bool = true
  4. 数字类型
  5. 整型 int 和浮点型 float32float64Go 语言支持整型和浮点型数字,
  6. 并且原生支持复数,其中位的运算采用补码。
  7. 包括:
  8. uint8 无符号 8 位整型 (0 255)
  9. uint16 无符号 16 位整型 (0 65535)
  10. uint32 无符号 32 位整型 (0 4294967295)
  11. uint64 无符号 64 位整型 (0 18446744073709551615)
  12. int8 有符号 8 位整型 (-128 127)
  13. int16 有符号 16 位整型 (-32768 32767)
  14. int32 有符号 32 位整型 (-2147483648 2147483647)
  15. int64 有符号 64 位整型 (-9223372036854775808 9223372036854775807)
  16. float32 IEEE-754 32位浮点型数
  17. float64 IEEE-754 64位浮点型数
  18. complex64 32 位实数和虚数
  19. complex128 64 位实数和虚数
  20. byte 类似 uint8
  21. rune 类似 int32
  22. uint 32 64
  23. int uint 一样大小
  24. uintptr 无符号整型,用于存放一个指针
  25. 字符串类型:
  26. 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。
  27. Go语言的字符串的字节使用UTF-8编码标识Unicode文本。
  28. 派生类型:
  29. 包括:
  30. (a) 指针类型(Pointer
  31. (b) 数组类型
  32. (c) 结构化类型(struct)
  33. (d) Channel 类型
  34. (e) 函数类型
  35. (f) 切片类型
  36. (g) 接口类型(interface
  37. (h) Map 类型

类型转换

类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下:

type_name(expression)

type_name 为类型,expression 为表达式。

以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:

package main

import "fmt"

func main() {
   var sum int = 17
   var count int = 5
   var mean float32

   mean = float32(sum)/float32(count) // 整型转化为浮点型
   fmt.Printf("mean 的值为: %f\n",mean) // 3.400000
}