📌  相关文章
📜  golang 字节到字符串 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 14:41:34.810000             🧑  作者: Mango

Golang 字节到字符串

在 Golang 中,字节(byte)和字符串(string)是两种不同的数据类型。这篇文章将介绍如何在这两种数据类型之间进行转换。

字节到字符串

将字节切片转换为字符串非常简单。只需要使用 string() 函数即可。

package main

import "fmt"

func main() {
    bytes := []byte{'g', 'o', 'l', 'a', 'n', 'g'}
    str := string(bytes)

    fmt.Println(str)
}

以上代码将输出:golang

字符串到字节

将字符串转换为字节切片同样很简单。使用 []byte() 函数即可实现转换。

package main

import "fmt"

func main() {
    str := "golang"
    bytes := []byte(str)

    fmt.Println(bytes)
}

以上代码将输出:[103 111 108 97 110 103]

字节到十六进制字符串

将字节切片转换为十六进制字符串是一个常见的需求。以下代码演示如何将字节数组转换为十六进制字符串。

package main

import "fmt"

func main() {
    bytes := []byte{'g', 'o', 'l', 'a', 'n', 'g'}
    hexString := hex.EncodeToString(bytes)

    fmt.Println(hexString)
}

以上代码将输出:676f6c616e67

十六进制字符串到字节

与将字节数组转换为十六进制字符串相反,将十六进制字符串转换为字节数组也是一个常见的需求。以下代码演示了如何实现这个功能。

package main

import "fmt"
import "encoding/hex"

func main() {
    hexString := "676f6c616e67"
    bytes, _ := hex.DecodeString(hexString)

    fmt.Println(bytes)
}

以上代码将输出:[103 111 108 97 110 103]

结论

在 Golang 中,字节和字符串之间的转换非常容易。使用 string()[]byte() 函数可以轻松地在这两种数据类型之间进行转换。同时,由于 Golang 提供了标准库中的 encoding/hex 包,所以将字节数组转换为十六进制字符串和将十六进制字符串转换为字节数组也很方便。