String 无法在golang中分配带单引号的字符串
我正在学习围棋,当我玩字符串时,我注意到如果字符串是单引号,那么golang会给我一个错误,但双引号工作正常String 无法在golang中分配带单引号的字符串,string,go,String,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.g
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 string
prog.go:9: empty character literal or unescaped ' in character literal
prog.go:9: missing '
我无法理解这背后的确切原因,例如在Python中,Perl one可以用单引号和双引号声明字符串 在围棋中,
'⌘'代码>表示单个字符(称为符文),而“⌘"代码>表示包含字符⌘代码>
<>这在很多编程语言中是正确的,字符串和字符之间的区别是显著的,如C++ + < /P>
查看“代码点、字符和符文”“Go中的节是一种静态类型的语言。另外,GO
不是脚本语言。虽然我们看到GO
像脚本语言一样运行,但它编译我们编写的源代码,然后执行主函数。因此,我们应该将GO
视为C,JAVA,C++
,其中使用单引号'
来声明字符(rune,char
),而不像Python或JavaScript这样的脚本语言
我认为这是一种新的语言,当前的趋势是脚本语言,这种混乱已经发生了 如果要嵌入双引号,请选择另一个选项:
package main
func main() {
s := `west "north" east`
println(s)
}
您也可以对原始字符串使用`blah`
反勾号。其他语言将任何非空格视为注释,所有关键字都由空格、制表符和换行符组成。“其他语言”从来都不是一个好的论据,无论是对于编程语言还是对于自然语言。