首页 > 文章列表 > 详解Golang中数字与字符串之间的转换方式

详解Golang中数字与字符串之间的转换方式

字符串 golang 数字转换
495 2024-01-16

在Golang中,字符串和数字之间的相互转换是非常常见的操作。本文将详细介绍Golang中字符串和数字的相互转换方法,并提供具体的代码示例。

一、将字符串转换为数字

在Golang中,将字符串转换为数字有以下几种方法:

  1. 使用strconv包的Atoi()函数

Atoi()函数可以将字符串转换为int类型的数字。示例代码如下:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    num, err := strconv.Atoi(str)
    if err != nil {
        fmt.Println("字符串转换为数字失败")
    } else {
        fmt.Printf("转换后的数字是%d,类型是%T", num, num)
    }
}

运行结果:

转换后的数字是123,类型是int
  1. 使用strconv包的ParseInt()函数

ParseInt()函数可以将字符串转换为任意进制的数字。示例代码如下:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "101"
    num, err := strconv.ParseInt(str, 2, 0)
    if err != nil {
        fmt.Println("字符串转换为数字失败")
    } else {
        fmt.Printf("转换后的数字是%d,类型是%T", num, num)
    }
}

运行结果:

转换后的数字是5,类型是int64
  1. 使用fmt包的Scanf()函数

Scanf()函数可以将输入的字符串转换为数字。示例代码如下:

package main

import (
    "fmt"
)

func main() {
    var num int
    fmt.Printf("请输入一个数字:")
    _, err := fmt.Scanf("%d", &num)
    if err != nil {
        fmt.Println("输入错误")
    } else {
        fmt.Printf("转换后的数字是%d,类型是%T", num, num)
    }
}

运行结果:

请输入一个数字:123
转换后的数字是123,类型是int

二、将数字转换为字符串

在Golang中,将数字转换为字符串有以下几种方法:

  1. 使用strconv包的Itoa()函数

Itoa()函数可以将int类型的数字转换为字符串。示例代码如下:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 123
    str := strconv.Itoa(num)
    fmt.Printf("转换后的字符串是%s,类型是%T", str, str)
}

运行结果:

转换后的字符串是123,类型是string
  1. 使用fmt包的Sprintf()函数

Sprintf()函数可以将任意类型的数据转换为字符串。示例代码如下:

package main

import (
    "fmt"
)

func main() {
    num := 123
    str := fmt.Sprintf("%d", num)
    fmt.Printf("转换后的字符串是%s,类型是%T", str, str)
}

运行结果:

转换后的字符串是123,类型是string
  1. 使用strconv包的FormatInt()函数

FormatInt()函数可以将任意进制的数字转换为字符串。示例代码如下:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 5
    str := strconv.FormatInt(int64(num), 2)
    fmt.Printf("转换后的字符串是%s,类型是%T", str, str)
}

运行结果:

转换后的字符串是101,类型是string

总结:

以上就是Golang中字符串与数字的相互转换方法详解,并提供了具体的代码示例。在实际开发中,选择合适的方法进行转换可以提高代码的效率,同时也要注意转换过程中可能会出现的错误。