Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > Go strconv包

Go 类型转换工具包strconv包的用法

作者:比猪聪明

Go 语言的 strconv 包提供了用于基本数据类型之间转换的函数,本文主要介绍了Go 类型转换工具包strconv包的用法,具有一定的参考价值,感兴趣的可以了解一下

Go 语言的 strconv 包提供了用于基本数据类型之间转换的函数,包括字符串到其他基本类型的转换,以及其他基本类型到字符串的转换。

字符串转换为基本数据类型

package main

import (
	"fmt"
	"log"
	"strconv"
)

func main() {
	//字符串转换为基本数据类型
	//----------------------------------- strconv.Atoi - 将字符串转换为 int。
	intStr := "123"
	intVal, err := strconv.Atoi(intStr)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%v,%T\n", intVal, intVal)
	fmt.Println(intVal) // 输出: 123

	//----------------------------------- strconv.ParseBool - 将字符串转换为 bool。
	boolStr := "true"
	boolVal, err := strconv.ParseBool(boolStr)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%v,%T\n", boolVal, boolVal)
	fmt.Println(boolVal) // 输出: true

	//----------------------------------- strconv.ParseFloat - 将字符串转换为 float64。
	floatStr := "123.45"
	floatVal, err := strconv.ParseFloat(floatStr, 64)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%v,%T\n", floatVal, floatVal)
	fmt.Println(floatVal) // 输出: 123.45

	//----------------------------------- strconv.ParseInt - 将字符串转换为 int64,可以指定进制。
	intStrParseInt := "123" // 默认为10进制
	intValParseInt, err := strconv.ParseInt(intStrParseInt, 10, 64)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%v,%T\n", intValParseInt, intValParseInt)
	fmt.Println(intValParseInt) // 输出: 123

	//----------------------------------- 2进制
	binStr := "11010001"
	var intVal2, err2 = strconv.ParseInt(binStr, 2, 64)
	if err2 != nil {
		log.Fatal(err2)
	}
	fmt.Printf("%v,%T\n", intVal2, intVal2)
	fmt.Println(intVal2) // 输出: 209

	//-----------------------------------strconv.ParseUint - 将字符串转换为 uint64,可以指定进制。
	uintStr := "123"
	uintVal, err := strconv.ParseUint(uintStr, 10, 64)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%v,%T\n", uintVal, uintVal)
	fmt.Println(uintVal) // 输出: 123
}

基本数据类型转换为字符串

package main

import (
	"fmt"
	"strconv"
)

func main() {
	//基本数据类型转换为字符串
	//-----------------------------------strconv.Itoa - 将 int 转换为字符串。
	intVal := 123
	intStr := strconv.Itoa(intVal)
	fmt.Printf("%v,%T\n", intStr, intStr)
	fmt.Println(intStr) // 输出: 123

	//strconv.FormatBool - 将 bool 转换为字符串。
	boolVal := true
	boolStr := strconv.FormatBool(boolVal)
	fmt.Printf("%v,%T\n", boolStr, boolStr)
	fmt.Println(boolStr) // 输出: true

	//-----------------------------------strconv.FormatFloat - 将 float64 转换为字符串,可以指定格式化选项。
	floatVal := 123.45
	floatStr := strconv.FormatFloat(floatVal, 'f', 2, 64)
	fmt.Printf("%v,%T\n", floatStr, floatStr)
	fmt.Println(floatStr) // 输出: 123.45

	//-----------------------------------strconv.FormatInt - 将 int64 转换为字符串,可以指定进制。
	intVal64 := int64(123)
	intStr64 := strconv.FormatInt(intVal64, 10) // 10进制
	fmt.Printf("%v,%T\n", intStr64, intStr64)
	fmt.Println(intStr64) // 输出: 123

	//----------------------------------- 2进制
	intStr2 := strconv.FormatInt(intVal64, 2)
	fmt.Printf("%v,%T\n", intStr2, intStr2)
	fmt.Println(intStr) // 输出: 1111011

	//-----------------------------------strconv.FormatUint - 将 uint64 转换为字符串,可以指定进制。
	uintVal := uint64(123)
	uintStr := strconv.FormatUint(uintVal, 10) // 10进制
	fmt.Printf("%v,%T\n", uintStr, uintStr)
	fmt.Println(uintStr) // 输出: 123

	//----------------------------------- 16进制
	uintStr = strconv.FormatUint(uintVal, 16)
	fmt.Printf("%v,%T\n", uintStr, uintStr)
	fmt.Println(uintStr) // 输出: 7b
}

到此这篇关于Go 类型转换工具包strconv包的用法的文章就介绍到这了,更多相关Go strconv包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文