strcov的常用方法

strconv包的常用方法

文章目录:

1.strconv的简介以及常用方法的汇总

strconv是 Go 语言标准库中的一个包,用于进行基本数据类型和字符串之间的转换。以下是strconv包中常用的方法:

  1. AtoiItoaAtoi函数用于将字符串转换为整数类型,Itoa函数则用于将整数类型转换为字符串类型。
  2. Parse系列函数:包括ParseIntParseBoolParseFloat等函数,用于将字符串解析为指定类型的值。
  3. Format系列函数:包括FormatIntFormatBoolFormatFloat等函数,用于将基本数据类型转换为字符串类型。
  4. Append系列函数:包括AppendIntAppendBoolAppendFloat等函数,用于将基本数据类型追加到已存在的数组中。

2.strconv常用方法的实际案例学习

(1)AtoiTtoa

strconv.Atoi():将字符串转换为整数

  str := "123"
	num, err := strconv.Atoi(str)
	if err == nil {
		fmt.Printf("num的类型是%T它的值是%v", num, num)
		//num的类型是int它的值是123
	}

strconv.Itoa():将整数转换为字符串。

num := 456
	str := strconv.Itoa(num)
	fmt.Printf("num的类型是%T它的值是%v", str, str)
	//num的类型是string它的值是456

(2)Parse系列

strconv.ParseInt():按照指定进制将字符串转换为整数

str := "1010" //1010为二进制对应的十进制为10
	num, err := strconv.ParseInt(str, 2, 64)
	if err == nil {
		fmt.Println(num)//10
	}

strconv.ParseBool():将表示布尔值的字符串转换为布尔值。

   str := "true"
   boolValue, err := strconv.ParseBool(str)
   if err == nil {
       fmt.Println(boolValue)//true
   }

strconv.ParseFloat():数用于将字符串转换为浮点数。函数的第二个参数 64 表示转换后的浮点数的精度位数。

str := "3.14"
    num, err := strconv.ParseFloat(str, 64)
    if err == nil {
        fmt.Println(num)//3.14
    } else {
        fmt.Println("转换出错:", err)
    }

(3)Format系列,都是将参数转换为指定格式的字符串操作

strconv.FormatInt():将整数按照指定格式化字符串

   a := 789
	str := strconv.FormatInt(int64(a), 16)//16表示转化为16进制
	fmt.Println(str)//315

strconv.FormatFloat():将浮点数格式化为字符串。

   num := 3.14
   str := strconv.FormatFloat(num, 'f', 2, 64)
   fmt.Println(str)//3.14

strconv.FormatFloat(num, 'f', 2, 64)是括号内各个参数的含义:

  • num:要转换的浮点数。
  • fmt:格式化类型,可选值为'b'(二进制)、'e'(科学计数法)、'f'(十进制无指数)、'g'(最少计数法表示)。
  • prec:表示精度,对于'f''g'格式,代表除[小数点]以外的位数。
  • bitsize:浮点数类型,32 表示float32,64 表示float64

在默认情况下,strconv.FormatFloat函数会将浮点数转换为保留小数点后 6 位的字符串。如果需要更高精度的转换,可以调整prec参数的值。

strconv.Bool():将布尔值转换为字符串

// 将布尔值转换为字符串
    b := true
    s := strconv.FormatBool(b)
    fmt.Println(s) //true其类型为字符串

(4)Append系列函数

package main

import (
    "fmt"
    "strconv"
)

func main() {
    //  1:使用 strconv.AppendBool
    var b bool = true
    var dst []byte = make([]byte, 0)
    dst = strconv.AppendBool(dst, b)
    fmt.Println(string(dst)) //true

    // 2:使用 strconv.AppendInt
    num := 1234
    dst = strconv.AppendInt(dst, num, 10)
    fmt.Printf("%s ", dst) //true1234

    //  3:使用 strconv.AppendQuoteRuneToASCII
    dst = make([]byte, 0)
    dst = strconv.AppendQuoteRuneToASCII(dst, 'a')
    dst = strconv.AppendQuoteRuneToASCII(dst, '中')
    fmt.Println(string(dst))// 'a''\u4e2d'
}

在上述示例中,分别使用了 strconv.AppendBoolstrconv.AppendIntstrconv.AppendQuoteRuneToASCII 函数来进行不同类型的转换和追加操作。

strconv.AppendBool 将布尔值转换为字符串并追加到字节数组中。

strconv.AppendInt 将整数转换为字符串并使用指定的进制(这里是十进制)追加到字节数组中。

strconv.AppendQuoteRuneToASCII 将字符转换为其 ASCII 编码形式的字符串并追加到字节数组中。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值