一、数据类型的转换
// 浮点数
a := 5.0
// 转换为int类型b := int(a)
//Go允许在底层结构相同的两个类型之间互转。
例如:// IT类型的底层是int类型
type IT int
// a的类型为IT,底层是int
var a IT = 5
// 将a(IT)转换为int,b现在是int类利
b := int(5)
//将b(int)转换为IT,c现在是IT类型
c := IT(b)
var a int32 = 1
var b int64 = 3
b = int64(a)
fmt.PrintIn(a, b)
var a int = 12
var b = uint8(a)
var f floot32 = 3.14
var c = int32(f)
var f64 = float64(a)
fmt.Println(f64)
type IT int //类型要求很严格
var C IT = IT(a)
// 字符串转数字
var istr = “12”
myint, err := strconv.Atoi(istr)
if err != nil {
fmt.Println(“convert error”)
}
fmt.Println(myint)
// 数字转字符串
var myi = 32
fmt.Println(strconv.Itoa(myi))
二、Parse字符串转换
// 字符串转换为float64,转换为bool
strconv.ParseFloat(“3.1415926”, 64)
// 解释:ParseFloat是调用的方法,"3.1415926"是我要转换为浮点数的字符串,64是我要转换的位数float64。
同理,ParseInt方法,第一个参数是要转换为整数的字符串,第二个参数是要转换的整数的进制(填数字就行),第三个参数是位数。
ParseBool方法,只有一个参数,这个参数是需要转换的字符串,其中,对应可转换的字符串如下:
true:“1”, “t”, “T”, “true”, “TRUE”, “True”
false: “0”, “f”, “F”, “false”, “FALSE”, “False”
如果字符串不是以上这些,转换时会显示false即自动默认零值false。
三、Format格式化转换
1、基本类型转字符串
1.1、bool -> string
boolStr := strconv.FormatBool(true)
结果:“true”
1.2、float -> string
floatStr := strconv.FormatFloat(3.1415, ‘E’, -1, 64)
结果:“3.1415E+00”
floatStr := strconv.FormatFloat(3.1415, ‘f’, -1, 64)
结果:“3.1415”
函数:func strconv.FormatFloat(f float64, fmt byte, prec int, bitSize int) string
解析:
strconv.FormatFloat
函数是 Go 语言标准库中的 strconv
包的一部分,它用于将浮点数转换为字符串。这个函数提供了灵活的格式化选项,使得你可以控制数字的展示方式。下面是对你提供的参数的详细解释:
-
f float64:
- 这是要格式化的浮点数。
float64
表示这是一个 64 位的浮点数,也支持float32
类型的数值。
- 这是要格式化的浮点数。
-
fmt byte:
- 这个参数指定了数字的格式化方式。它可以是以下几种字符之一:
'b'
:二进制指数表示法(例如-ddddp±ddd
)。'e'
:科学计数法,小写的指数(例如-d.dddde±dd
)。'E'
:科学计数法,大写的指数(例如-d.ddddE±dd
)。'f'
:没有指数部分,普通的小数表示(例如-ddd.dddd
)。'g'
:根据数值大小选择'e'
或'f'
格式,用于大指数时采用'e'
。'G'
:类似于'g'
,但是在大指数时使用'E'
。'x'
:十六进制分数和二进制指数(例如-0xd.ddddp±ddd
)。'X'
:类似于'x'
,但是以大写形式显示(例如-0Xd.ddddP±ddd
)。
- 这个参数指定了数字的格式化方式。它可以是以下几种字符之一:
-
prec int:
- 这个参数控制数字的精度,即小数点后的数字位数。
- 对于
'e'
、'E'
、'f'
、'x'
和'X'
格式,它指小数点后的位数。 - 对于
'g'
和'G'
,它是最大有效数字的位数(尾随零被移除)。 - 特殊的精度
-1
表示使用尽可能少的数字,但是ParseFloat
能准确地返回原始数值f
。
-
bitSize int:
- 这个参数表示输入的浮点数的位大小(
32
对应float32
,64
对应float64
)。这个信息用于正确地进行舍入。
- 这个参数表示输入的浮点数的位大小(
在使用时,你可以根据需要的输出格式和精度来选择合适的 fmt
和 prec
参数。例如,如果你想以科学计数法格式化一个浮点数,并保留两位小数,你可以使用 'e'
作为格式并设置精度为 2
。
1.3、int -> string
intStr := strconv.FormatInt(-42, 16)
参数:整数, 转换的进制
结果:“-2a”