加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang学习笔记[5] 整型

发布时间:2020-12-16 18:47:27 所属栏目:大数据 来源:网络整理
导读:golang的整型总类众多,但一般只是使用使用int或者uintt就好了, package mainimport ("fmt""unsafe")func main() {var i1 int8 = 1 //1 bytevar i2 int16 = 2 //2 bytevar i3 int32 = 3 // 4 bytevar i4 int64 = 4 // 8 bytevar i5 int = 5 // 32位:4 64位:


golang的整型总类众多,但一般只是使用使用int或者uintt就好了,


package main

import (
	"fmt"
	"unsafe"
)

func main() {
	var i1 int8 = 1  //1 byte
	var i2 int16 = 2 //2 byte
	var i3 int32 = 3 // 4 byte
	var i4 int64 = 4 // 8 byte
	var i5 int = 5   // 32位:4 64位:8

	var i6 uint8 = 1  // 1 byte
	var i7 uint16 = 2 // 2 byte
	var i8 uint32 = 3 // 4 byte
	var i9 uint64 = 4 // 8 byte
	var i10 uint = 5  // 32位:4 64位:8

	var i11 byte = 1 //相当于uint8 1 byte
	var i12 rune = 3 //相当于int32 4 byte

	var i13 uintptr = 6 // 32位:4 64位:8

	fmt.Println(unsafe.Sizeof(i13)) //8

	fmt.Println(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13) //1 2 3 4 5 1 2 3 4 5 1 3 6
}


int类型和int32或者int64都不可以直接相加减,只有同类型(类型名相同)才能相加减,golang不支持隐式转换。

package main

func main() {

	var i1 int = 1
	var i2 int32 = 2
	var i3 int64 = 3

	i4 := i1 + i2 
}

.main.go:9: invalid operation: i1 + i2 (mismatched types int and int32)


使用int(变量名强制转换)

package main
 
import (
"fmt"
)
 
func main() {
 
var i1 int = 1
var i2 int32 = 2
var i3 int64 = 3
 
i4 := i1 + int(i2) //int32强制转换为int
i5 := i1 + int(i3) //int64强制转换为int
 
fmt.Println(i4, i5)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读