在go语言中将字节转换为字符串示例
数据是以字节数组的形式存在的,目标是将字节转换成字符串。
问题是,给定数据的长度是动态的,我们需要创建一个能够处理动态长度的程序。
通常情况下,这个程序应该像下面的第一个程序一样
代码示例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
相关文章