数据类型

一、基本数据类型

以下是go中可用的基本数据类型

六、基本数据类型-LMLPHP

1.1 布尔型bool

布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true

1.2 数值型

1、整数型

  • int8
    有符号 8 位整型 (-128 到 127)
    长度:8bit

  • int16
    有符号 16 位整型 (-32768 到 32767)

  • int32
    有符号 32 位整型 (-2147483648 到 2147483647)

  • int64
    有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

  • uint8
    无符号 8 位整型 (0 到 255)
    8位都用于表示数值:

  • uint16
    无符号 16 位整型 (0 到 65535)

  • uint32
    无符号 32 位整型 (0 到 4294967295)

  • uint64
    无符号 64 位整型 (0 到 18446744073709551615)

2、浮点型

  • float32

    IEEE-754 32位浮点型数

  • float64

    IEEE-754 64位浮点型数

  • complex64

    32 位实数和虚数

  • complex128

    64 位实数和虚数

3、其他

  • byte

    类似 uint8

  • rune

    类似 int32

  • uint

    32 或 64 位

  • int

    与 uint 一样大小

  • uintptr

    无符号整型,用于存放一个指针

1.3 字符串型

字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本

	var str string
	str = "Hello World"
	str1 := `Hello World`

1.4 数据类型转换:Type Convert

语法格式:Type(Value)

常数:在有需要的时候,会自动转型

变量:需要手动转型 T(V)

package main
import "fmt"

func main()  {
	/*
	go语言是静态语言,定义,赋值,运算,必须类型一致
	 */
	a := 10
	c := int16(a)
	//int
	fmt.Printf("%T \n", a)
	//int16
	fmt.Printf("%T \n", c)

	f1 := 3.14
	f2 := 4.14
	var d int
	d = int(f1)
	//int, 3(只取整数部分)
	fmt.Printf("%T, %d \n", d, d)
	//a不转型报错
	sum := f1 + float64(a)
	sum2 := f1 + f2
	fmt.Printf("%T, %f \n", sum, sum)
	fmt.Printf("%T, %f \n", sum2, sum2)

}

注意点:兼容类型可以转换

二、 复合类型(派生类型)

1、指针类型(Pointer)
2、数组类型
3、结构化类型(struct)
4、Channel 类型
5、函数类型
6、切片类型
7、接口类型(interface)
8、Map 类型

05-30 17:22