📅  最后修改于: 2023-12-03 14:41:34.810000             🧑  作者: Mango
在 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
包,所以将字节数组转换为十六进制字符串和将十六进制字符串转换为字节数组也很方便。