Golang中int, int8, int16, int32, int64区别

猫哥写Golang过程中,遇到整数常用int,因为可以少打至少一个字符。 T_T

一直没有意识到其实各个int还是有区别的,起码是内存空间上的区别。

一段简单粗暴的程序,描述一下区别:

package main

import (
	"fmt"
	"unsafe"
)

func main() {
	var i1 int = 1
	var i2 int8 = 2
	var i3 int16 = 3
	var i4 int32 = 4
	var i5 int64 = 5
	fmt.Println(unsafe.Sizeof(i1))
	fmt.Println(unsafe.Sizeof(i2))
	fmt.Println(unsafe.Sizeof(i3))
	fmt.Println(unsafe.Sizeof(i4))
	fmt.Println(unsafe.Sizeof(i5))
}
//输出结果:
8
1
2
4
8

真的想不到int型,反而是占空间最大的。

不知道这么解释对不对,请达人指正!

你可能感兴趣的:(Go)