1.基本数据类型之间的转化

本文介绍了Go语言中基本数据类型,包括布尔、整型、浮点型、复数和字符串,并探讨了不同类型间的转换规则,如整型与浮点型之间的转换,以及整型与字符串的相互转化。特别地,文章提到了整型转换可能导致的溢出和截断问题,以及字符串通过Unicode编码和字节数组转换的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本数据类型

  • 布尔类型
  • 整型
  • 浮点型
  • 复数类型
  • 字符串
  • 字符类型

整型之间的转换

注意: 在有符号与无符号以及高位数向低位数转换时, 需要注意数字的溢出的截断

package main

import (
	"fmt"
)

func main() {
	v1 := uint(18)
	v2 := int8(v1)
	v3 := uint(v2)
	//v4 := uint(-1) 抛出异常: constant -1 overflows uint
	v5 := uint(255)
	v6 := int8(v5) // 由于int8表示范围是-128-127之间的数字, 255超出范围, 这是会截取后8位, 所以结果为-1

	fmt.Println(v1, v2, v3, v5, v6)
}

整型与浮点型之间的转化

浮点型转为整型时, 小数位被丢弃

v1 := 88.88
v2 := int(v1) // v2 = 88

整型转为浮点型时, 直接转换

v1 := 88
v2 := float64(v1) // v2 = 88

字符串与其他基本类型的转换

整型数据可通过Unicode字符集转化为对应的UTF-8编码字符串

v1 := 65
v2 := string(v1) // A

byte数组或者rune数组可以转换为字符串, 因为字符串底层就是通过这两个基本字符类型实现的

byte是uint8的别名, rune是int32的别名

v1 := []byte{"h", "e", "l", "l", "o"}
v2 := string(v1) // hello

v3 := []rune{104, 101, 108, 108, 111}
v4 := string(v3) // hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值