Golang学习之路一三基本数据类型

Golang学习之路一三基本数据类型

基本数据类型

  • int8 是有符号类型,uint8 是无符号类型

  • go 语言中不同类型的数据不能相加,会编译错误

类型 名称 长度 零值 说明
bool 布尔类型 1 false 值为 true 或 false, 不可以用数字代表
byte 字节型 1 0 uint8
rune 字符类型 4 0 专用于存储 unicode 编码,等价于 uint32
int, uint 整型 4 或 8 0 32 位或 64 位
int8, uint8 整型 1 0 -128~127, 0~255
int16, uint16 整型 2 0 -32768~32767, 0~65535
int32, uint32 整型 4 0 -21 亿~21 亿, 0~42 亿
int64, uint64 整型 8 0
float32 浮点型 4 0.0 小数位精确到 7 位
float64 浮点数 8 0.0 小数位精确到 15 位
complex64 复数类型 8 0
complex128 复数类型 16 0
uintptr 整型 4 或 8 足以存储指针的 uint32 或 uint64 整数
string 字符串 “” utf-8 字符串

整型

package main

import (
	"fmt"
	"reflect"
)

func main() {
	var v1 int
	v1 = 123
	v2 := 42
	fmt.Println(reflect.TypeOf(v1))
	fmt.Println(reflect.TypeOf(v2))
}

浮点型

package main

import (
	"fmt"
	"reflect"
)

func main() {
	var f1 float32
	f1 = 12.5
	f2 := 13.66
	fmt.Println(reflect.TypeOf(f1))
	fmt.Println(reflect.TypeOf(f2))
}

布尔型

package main

import (
	"fmt"
	"reflect"
)

func main() {
	// 只有true和false两个值
	var b1 bool
	b1 = false
	fmt.Println(b1)

	// 可以使用 == 或 != 得到布尔值
	b2 := (1!=2)
	fmt.Println(reflect.TypeOf(b2))

	// 使用 ! 对布尔类型进行取反
	b3 := !b2
	fmt.Println(b3)
}

byte 字符型

package main

import (
	"fmt"
	"reflect"
)

func main() {
	// 单引号赋值byte
	var ch byte
	ch = 'a'
	fmt.Println(ch)

	// 格式化输出
	fmt.Printf("ch = %c\n", ch)

	// uint8
	fmt.Println(reflect.TypeOf(ch))
}

字符串

package main

import "fmt"

func main() {
	// 字符串使用双引号赋值
	var s1 string
	s1 = "abc"
	fmt.Println(s1)

	// 取字符串中第一个字符
	ch := s1[0]
	fmt.Println(ch)

	// 反引号用来创建原生的字符串字面量(原格式输出)

	s2 := `hello
xxxxx
	world
`
	fmt.Println(s2)
}

你可能感兴趣的:(golang,golang,开发语言)