go语言数据类型分为:基本数据类型和派生数据类型。基础数据类型有:布尔类型(true或false)、数值型(整型(int、int8、int16、int32、int64、uint、uintptr、uint8、byte、uint16、uint32、uint64)和浮点型(float32、float64、complex64、complex128))、字符串类型(string),派生数据类型有:指针、数组、结构体、通道(channel)、切片(slice)、函数、接口(interface)、Map
1、有符号
有符号: int, int8, int16, int32, int64
2、无符号
无符号: uint, uint8, uint16, uint32, uint64, byte
不同位数的整型区别在于能保存整型数字范围的大小;
有符号类型可以存储任何整数,无符号类型只能存储自然数
int和uint的大小和系统有关,32位系统表示int32和uint32,如果是64位系统则表示int64和uint64
byte与uint8类似,一般用来存储单个字符
在保证程序正确运行下,尽量使用占用空间小的数据类型
输出变量类型
fmt.Printf("%T", var_name)
查看变量占用字节
unsafe.Sizeof(var_name)
package main
import "fmt"
func main() {
var ab uint8 = 8
var ac uint16 = 16
var ad uint32 = 32
var ae uint64 = 64
var ba int8 = 8
var bc int16 = 16
var bd int32 = 32
var be int64 = 64
fmt.Printf("%v\n", ab)
fmt.Printf("%v\n", ac)
fmt.Printf("%v\n", ad)
fmt.Printf("%v\n", ae)
fmt.Printf("===============\n")
fmt.Printf("%v\n", ba)
fmt.Printf("%v\n", bc)
fmt.Printf("%v\n", bd)
fmt.Printf("%v\n", be)
fmt.Printf("===============\n")
fmt.Printf("%T\n", ab)
fmt.Printf("%T\n", ac)
fmt.Printf("%T\n", ad)
fmt.Printf("%T\n", ae)
fmt.Printf("===============\n")
fmt.Printf("%T\n", ba)
fmt.Printf("%T\n", bc)
fmt.Printf("%T\n", bd)
fmt.Printf("%T\n", be)
}
打印输出
8
16
32
64
===============
8
16
32
64
===============
uint8
uint16
uint32
uint64
===============
int8
int16
int32
int64
%v 值的默认格式表示;当输出结构体时,扩展标志(%+v)会添加字段名。
%T 值的类型的Go语法表示。
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论