【go笔记】标准库-strconv

简介: 【go笔记】标准库-strconv

前言

标准库strconv提供了字符串类型与其他常用数据类型之间的转换。

  • strconv.FormatX()用于X类型转字符串,如strconv.FormatFloat()用于浮点型转字符串。
  • strconv.ParseX()用于字符串转X类型,如strconv.ParseFloat()用于字符串转浮点型。
  • 对于整型,常用strconv.Itoa()整型转字符串和strconv.Atoi()字符串转整型,当然也可以用FormatInt()ParseInt()

函数原型

// 整型转字符串
func Itoa(i int) string
func FormatInt(i int64, base int) string
// 字符串转整型
func Atoi(s string) (int, error)
func ParseInt(s string, base int, bitSize int) (i int64, err error)
// 浮点型转字符串
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
// 字符串转浮点型
func ParseFloat(s string, bitSize int) (float64, error)
// 布尔型转字符串
func FormatBool(b bool) string
// 字符串转布尔型
func ParseBool(str string) (bool, error)
// 复数转字符串
func FormatComplex(c complex128, fmt byte, prec, bitSize int) string
// 字符串转复数
func ParseComplex(s string, bitSize int) (complex128, error)

具体函数说明请点击文末“参考资料”的官方文档链接。

示例代码

package main
import (
  "fmt"
  "strconv"
)
func main() {
  // 整型转字符串
  var a int = 123
  // 输出:123, 123, string
  fmt.Printf("%d, %v, %T \n", a, strconv.Itoa(a), strconv.Itoa(a))
  // 浮点型转字符串
  var b float64 = 3.141592653589793
  // 输出:3.141593, 3.14159265, string
  fmt.Printf("%f, %v, %T \n", b, strconv.FormatFloat(b, 'f', 8, 64), strconv.FormatFloat(b,'f', 8, 64))
  
  // 字符串转整型
  var c string = "56789"
  if c2,err := strconv.Atoi(c); err == nil {
    // 输出:string, 56789, int
    fmt.Printf("%T, %v, %T \n",c, c2, c2)
  }
  // 字符串转浮点型
  var d string = "123.456789"
  if d2, err := strconv.ParseFloat(d, 64); err == nil {
    // 输出:string, 123.456789, float64
    fmt.Printf("%T, %v, %T \n", d, d2, d2)
  }
}

参考资料

相关文章
|
3月前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
27天前
|
JSON Go 开发者
go-carbon v2.5.0 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。
36 4
|
1月前
|
存储 Cloud Native Shell
go库介绍:Golang中的Viper库
Viper 是 Golang 中的一个强大配置管理库,支持环境变量、命令行参数、远程配置等多种配置来源。本文详细介绍了 Viper 的核心特点、应用场景及使用方法,并通过示例展示了其强大功能。无论是简单的 CLI 工具还是复杂的分布式系统,Viper 都能提供优雅的配置管理方案。
|
1月前
|
JSON 安全 网络协议
go语言使用内置函数和标准库
【10月更文挑战第18天】
20 3
|
1月前
|
JSON 监控 安全
go语言选择合适的工具和库
【10月更文挑战第17天】
14 2
|
28天前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
68 0
|
2月前
|
Linux 编译器 Go
cgo--在Go中链接外部C库
cgo--在Go中链接外部C库
|
18天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
27 7
|
18天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
18天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
93 71