我正在学习 go,在玩字符串时,我注意到如果字符串是单引号,那么 golang 会给我一个错误,但双引号工作正常。func main() { var a string a = 'hello' //will give error a = "hello" //will not give error}这是我在系统上遇到的错误:illegal rune literal当我尝试在操场上做同样的事情时,我收到了这个错误:prog.go:9: missing 'prog.go:9: syntax error: unexpected name, expecting semicolon or newline or }prog.go:9: newline in stringprog.go:9: empty character literal or unescaped ' in character literalprog.go:9: missing '我无法理解这背后的确切原因,例如在 Python 中,Perl 可以用单引号和双引号声明一个字符串。
3 回答
ITMISS
TA贡献1871条经验 获得超8个赞
另一种选择,如果您想嵌入双引号:
package main
func main() {
s := `west "north" east`
println(s)
}
https://golang.org/ref/spec#raw_string_lit
红颜莎娜
TA贡献1842条经验 获得超12个赞
Go 是一种静态类型语言。另外GO
是不是一种脚本语言。虽然我们看到GO
它像脚本语言一样运行,但它正在编译我们编写的源代码,然后执行 main 函数。因此,与 Python 或 JavaScript 等脚本语言不同,我们应该将其GO
视为使用C, JAVA, C++
单引号''
来声明字符 ( rune, char
) 的地方。
我认为由于这是一种新语言,而当前的趋势是脚本语言,因此出现了这种混乱。
- 3 回答
- 0 关注
- 299 浏览
添加回答
举报
0/150
提交
取消