go
2017-03-03 78 views 0 likes 
0

我是Golang的新手,所以我在玩一些算法,并且遇到了一些问题。 在java中的插入字符数组的端线,我可以这样做:Golang字符串结束字符

String str = "Mr John Smith "; 
char[] arr = str.toCharArray(); 
arr[12] = '\0'; 

但Golang我想是这样的:

str := []byte("Mr John Smith ") 
str[12] = '\0' 

但这代码没有工作

+0

可能的副本吃了[有没有办法在Go中创建以null结尾的字符串?](http://stackoverflow.com/questions/38007361/is-there-anyway-to-create-null-terminated-string-in-go/38008565# 38008565) – icza

回答

5

这不是一个有0值的符文文字的有效语法。您可以使用十六进制转义序列

str[12] = '\x00' 

如果你真的需要一个八进制值,它需要3个数字

str[12] = '\000' 

或者只是赋予文字0

str[12] = 0 

你可以看到在规范中有效的符文字义转义序列:https://golang.org/ref/spec#Rune_literals

相关问题