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

 更新时间:2024年05月15日 10:04:30   作者:比猪聪明  
Go 语言的 strconv 包提供了用于基本数据类型之间转换的函数,本文主要介绍了Go 类型转换工具包strconv包的用法,具有一定的参考价值,感兴趣的可以了解一下

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

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

  • strconv.Atoi:将字符串转换为 int
  • strconv.ParseBool:将字符串转换为 bool
  • strconv.ParseFloat:将字符串转换为 float64
  • strconv.ParseInt:将字符串转换为 int64,可以指定进制
  • strconv.ParseUint:将字符串转换为 uint64,可以指定进制
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
}

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

  • strconv.Itoa:将 int 转换为字符串
  • strconv.FormatBool:将 bool 转换为字符串
  • strconv.FormatFloat:将 float64 转换为字符串,可以指定格式化选项
  • strconv.FormatInt:将 int64 转换为字符串,可以指定进制
  • strconv.FormatUint:将 uint64 转换为字符串,可以指定进制
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包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Golang远程调用框架RPC的具体使用

    Golang远程调用框架RPC的具体使用

    Remote Procedure Call (RPC) 是一种使用TCP协议从另一个系统调用应用程序功能执行的方法。Go有原生支持RPC服务器实现,本文通过简单实例介绍RPC的实现过程
    2022-12-12
  • Go语言实现选择法排序实例

    Go语言实现选择法排序实例

    这篇文章主要介绍了Go语言实现选择法排序的方法,实例分析了选择法排序的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • golang内置函数len的小技巧

    golang内置函数len的小技巧

    len是很常用的内置函数,可以测量字符串、slice、array、channel以及map的长度/元素个数。本文就来介绍一下其他小技巧,感兴趣的可以了解一下
    2021-07-07
  • Go文件操作(新建打开写入读取删除关闭)学习笔记

    Go文件操作(新建打开写入读取删除关闭)学习笔记

    这篇文章主要为大家介绍了Go文件操作(新建打开写入读取删除关闭)学习笔记,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • golang中进行条件编译的示例详解

    golang中进行条件编译的示例详解

    条件编译顾名思义就是在编译时让代码中的一部分生效或者失效,从而控制编译时的代码执行路径,进而影响编译出来的程序的行为,下面我们就来看看如何在golang中进行条件编译吧
    2025-03-03
  • 利用Golang生成整数随机数方法示例

    利用Golang生成整数随机数方法示例

    这篇文章主要介绍了利用Golang生成整数随机数的相关资料,文中给出了详细的介绍和完整的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Go语言实现控制台输入&生成随机数详解

    Go语言实现控制台输入&生成随机数详解

    这篇文章主要介绍了Go语言如何实现控制台输入&生成随机数,文中通过示例代码介绍的非常详细,对大家的学习有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Go语言实现socket实例

    Go语言实现socket实例

    这篇文章主要介绍了Go语言实现socket的方法,实例分析了socket客户端与服务器端的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Golang实现自己的orm框架实例探索

    Golang实现自己的orm框架实例探索

    这篇文章主要为大家介绍了Golang实现自己的orm框架实例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Go语言Gin框架中使用MySQL数据库的三种方式

    Go语言Gin框架中使用MySQL数据库的三种方式

    本文主要介绍了Go语言Gin框架中使用MySQL数据库的三种方式,通过三种方式实现增删改查的操作,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11

最新评论