在go语言中将字节转换为字符串示例

2023-06-01 00:00:00 示例 字符串 转换为

数据是以字节数组的形式存在的,目标是将字节转换成字符串。

问题是,给定数据的长度是动态的,我们需要创建一个能够处理动态长度的程序。

通常情况下,这个程序应该像下面的第一个程序一样


代码示例1:

 package main
 
 import "fmt"
 
 func main() {
    src := [10]byte{'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'}
    fmt.Println(len(src), src)
    
    dst := string(src[:])
    fmt.Println(len(dst), dst)
 }

运行这个demo会产生错误,数组索引10超出界线[0:10],

为了解决这个错误....,程序员通常会增加数组大小....,

这反过来......它会工作......但也会产生尾数零

20[104 101 108 108 111 32 119 111 114 108 100 0 0 0 0 0 0]。


如果有一个更高数值的数组进来怎么办?那么这个错误又会出现。


在Golang中,有一个更好的方法来处理这种动态长度的情况。

我们将使用三个点来告诉编译器在运行时计算出数组的长度。


代码示例2:

 package main

import "fmt"

func main() {
src := [...]byte{'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'}
fmt.Println(len(src), src)

dst := string(src[:])
fmt.Println(len(dst), dst)
}

输出:

11 [104 101 108 108 111 32 119 111 114 108 100]
11 hello world

希望对你有用。


相关文章: 

在go语言中用...(三个点)自动计算数组的长度(大小)。

https://www.zongscan.com/demo333/96126.html

相关文章