Go-标准库-strconv(一)

2023-04-22 09:25:42 浏览数 (1)

Go语言中的strconv包提供了一系列字符串转换函数,可以方便地将字符串转换为不同类型的数据,如整型、浮点型、布尔型等。

strconv包的主要函数

strconv包提供了一系列字符串转换函数,其中一些常用的函数如下:

Atoi和ParseInt:将字符串转换为整型

Atoi函数将字符串转换为int类型,如果转换失败,则返回0和错误信息。ParseInt函数将字符串转换为int64类型,并允许指定转换的进制和位数。如果转换失败,则返回0和错误信息。

代码语言:javascript复制
package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "123"
	i, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("conversion failed")
	} else {
		fmt.Printf("i is %dn", i)
	}

	str = "1000000000000000000000000000000000000000000000000000000000000000000000000000000"
	i64, err := strconv.ParseInt(str, 10, 64)
	if err != nil {
		fmt.Println("conversion failed")
	} else {
		fmt.Printf("i64 is %dn", i64)
	}
}

输出结果:

代码语言:javascript复制
i is 123
conversion failed

ParseFloat:将字符串转换为浮点型

ParseFloat函数将字符串转换为float64类型,并允许指定转换的位数和精度。如果转换失败,则返回0和错误信息。

代码语言:javascript复制
package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "3.14"
	f, err := strconv.ParseFloat(str, 64)
	if err != nil {
		fmt.Println("conversion failed")
	} else {
		fmt.Printf("f is %fn", f)
	}
}

输出结果:

代码语言:javascript复制
f is 3.140000

ParseBool:将字符串转换为布尔型

ParseBool函数将字符串转换为bool类型,只有字符串"true"或"false"可以被转换为布尔型,其他字符串都会转换失败。如果转换失败,则返回false和错误信息。

代码语言:javascript复制
package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "true"
	b, err := strconv.ParseBool(str)
	if err != nil {
		fmt.Println("conversion failed")
	} else {
		fmt.Printf("b is %tn", b)
	}
}

输出结果:

代码语言:javascript复制
b is true

Itoa和FormatInt:将整型转换为字符串

Itoa函数将int类型的数据转换为字符串,FormatInt函数将int64类型的数据转换为字符串,并允许指定转换的进制和位数。

代码语言:javascript复制
package main

import (
	"fmt"
	"strconv"
)

func main() {
	i := 123
	str := strconv.Itoa(i)
	fmt.Printf("str is %sn", str)

	i64 := int64(123)
	str = strconv.FormatInt(i64, 10)
	fmt.Printf("str is %sn", str)
}

输出结果:

代码语言:javascript复制
str is 123
str is 123
go

0 人点赞