当前位置: 首页 > 面试题库 >

无论如何,在Go中创建以null结尾的字符串吗?

糜正业
2023-03-14
问题内容

无论如何,string在Go中创建空终止吗?

我目前正在尝试的是a:="golang\0"但它显示编译错误:

non-octal character in escape sequence: "

问题答案:

规格:字符串文字:

引号之间的文本构成文字的值,反斜杠转义与符文文字中的解释相同(除非\'是非法且\"合法),并具有相同的限制。三位数字的八进制(\nnn)和两位数字的十六进制(\xnn)转义符表示所得字符串的各个字节。所有其他转义符表示单个字符的UTF-8编码(可能是多字节)。

因此,这\0是一个非法序列,您必须使用3个八进制数字:

s := "golang\000"

或使用十六进制代码(2个十六进制数字):

s := "golang\x00"

或unicode序列(4个十六进制数字):

s := "golang\u0000"

例:

s := "golang\000"
fmt.Println([]byte(s))
s = "golang\x00"
fmt.Println([]byte(s))
s = "golang\u0000"
fmt.Println([]byte(s))

输出:全部以0码字节结尾(在Go Playground上尝试)。

[103 111 108 97 110 103 0]
[103 111 108 97 110 103 0]
[103 111 108 97 110 103 0]


 类似资料:
  • 问题内容: Python字符串的末尾是否有特殊字符?就像在C或C ++中是\ 0。我想在不使用内置函数的情况下计算python中字符串的长度。 问题答案: Python中没有字符串结尾字符,至少没有一个公开的字符,它将取决于实现。字符串对象保持其自身的长度,您无需担心。有几种不使用来获取字符串长度的方法。 我怀疑这只是冰山一角。

  • 问题内容: 这个: 这样做(是空字节): 问题答案: Go的syscall程序包中隐藏了该函数,该函数查找第一个空字节([] byte {0})并返回长度。我假设它被称为C-Length。 抱歉,我迟到了一年,但是我认为它比其他两个 要 简单得多(没有不必要的输入等)。 所以, ^的意思是设置为从头到索引处的字节片。 结果将为3。

  • 问题内容: 我正在解决一个简单的问题: 在Java中删除字符数组中的某些字符,想法很简单: 我想输入一个信号,表示当我们想要使用例如生成一个字符串时,不必考虑数组的其余部分 Java中是否有这样的字符?(我想是,但我不确定) 例如,当我们调用: 这将被打印: 虽然我想得到,但我不想使用新的数组来做到这一点 问题答案: Java不会像C那样“标记”字符串的结尾。它跟踪长度和值,因此字符串中可以包含零

  • 问题内容: 我有一个要求,如果字符串的末尾存在分号(仅在末尾),则需要删除分号。我尝试了以下代码。但是仍然没有被替换。谁能在行号中告诉我以下代码中需要更改的内容 (我从这里引用了代码。如何从Java中的特定String中删除特定字符?) 问题答案: text.replaceAll(“;”, “”); 由于Java中的字符串是不可变的,因此method不会进行就地替换,而是会返回新的修改后的字符串。

  • 例如,我希望和回声 您的用户名无效 如果点位于第一个字母和最后一个字母之间,则脚本应回显 你的用户名很好 如何更改正则表达式以实现这一点?

  • 嗨,我有这个同时循环。此输出变量是一个 String 变量,它保留 的输出。 假设< code>br.readLine())给出了2行。 所以将这些行打印为: 有人能告诉我如何在第一行的开头和最后一行的结尾添加吗?像这样: 我通过做这样的事情来尝试这个: 这在每行后面添加了一个括号。 请帮帮我。