01
介绍
关于 Go 语言字符串的使用,我们需要了解标准库 strconv
和标准库 strings
的使用方式,它们分别用于字符串类型转换和字符串操作 。
本文我们重点介绍 Go 语言字符串使用方式与技巧 。
02
字符串类型转换
Go 语言是强类型语言 , 在使用 Go 语言时,通常会遇到需要将字符串与其它类型相互转换的场景 。
此时,我们可以使用标准库 strconv
。
字符串 to 布尔
示例代码:
func mAIn() { v := "true" if s, err := strconv.ParseBool(v); err == nil { fmt.Printf("%T, %vn", s, s) }}
输出结果:
bool, true
阅读上面这段代码,我们使用 func ParseBool(str string) (bool, error)
将字符串转换为布尔 。需要注意的是 , 该函数接收参数的值是有限制的,除了 1、t、T、TRUE、true、True、0、f、F、FALSE、false、False 之外,其它任何值都会返回 error 。
字符串 to 浮点型
示例代码:
func main() { v := "3.1415926535" if s, err := strconv.ParseFloat(v, 32); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat(v, 64); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat("NaN", 32); err == nil { fmt.Printf("%T, %vn", s, s) } // ParseFloat is case insensitive if s, err := strconv.ParseFloat("nan", 32); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat("inf", 32); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat("+Inf", 32); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat("-Inf", 32); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat("-0", 32); err == nil { fmt.Printf("%T, %vn", s, s) } if s, err := strconv.ParseFloat("+0", 32); err == nil { fmt.Printf("%T, %vn", s, s) }}
输出结果:
float64, 3.1415927410125732float64, 3.1415926535float64, NaNfloat64, NaNfloat64, +Inffloat64, +Inffloat64, -Inffloat64, -0float64, 0
阅读上面这段代码,我们使用 func ParseFloat(s string, bitSize int) (float64, error)
将字符串转换为 64 位浮点数 。需要注意的是 , 该函数接收参数可以识别值为 NaN
、Inf
(有符号 +Inf
或 -Inf
),并且忽略它们的大小写 。
字符串 to 整型
示例代码:
func main() { v32 := "-354634382" if s, err := strconv.ParseInt(v32, 10, 32); err == nil { fmt.Printf("s:%T, %vn", s, s) } if s1, err := strconv.ParseInt(v32, 16, 32); err == nil { fmt.Printf("s1:%T, %vn", s1, s1) } v64 := "-3546343826724305832" if s2, err := strconv.ParseInt(v64, 10, 64); err == nil { fmt.Printf("s2:%T, %vn", s2, s2) } if s3, err := strconv.ParseInt(v64, 16, 64); err == nil { fmt.Printf("s3:%T, %vn", s3, s3) }}
输出结果:
s:int64, -354634382s2:int64, -3546343826724305832
阅读上面这段代码,我们使用 func ParseInt(s string, base int, bitSize int) (i int64, err error)
将字符串转换为整型 。
需要注意的是,该函数的第一个入参为字符串类型的数值 , 可以 "+" 或 "-" 符号开头;
推荐阅读
- 淘宝代付如何使用花呗支付功能,淘宝花呗逾期可以找朋友代付吗
- 玫瑰精油使用方法,玫瑰精油的使用方法是什么?
- 红花油怎么用,红花油去除吻痕怎么使用?
- ai镜像工具能如何使用
- 钉钉怎么使用悬浮窗,苹果手机钉钉怎么开悬浮窗
- 原神凯亚在哪个位置,原神为什么凯亚获得了不能使用
- 轮胎外侧蹭掉一块橡胶影响使用,轮胎侧面蹭掉一块橡胶能跑高速
- 血压计的使用方法,脉博士电子血压计的正确使用方法?
- ps能如何保存,如何把ps的图层保存下来下次使用
- 如何使用PS将图片变得清晰