我正在學習 go,在玩字符串時,我注意到如果字符串是單引號,那么 golang 會給我一個錯誤,但雙引號工作正常。func main() { var a string a = 'hello' //will give error a = "hello" //will not give error}這是我在系統(tǒng)上遇到的錯誤: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條經驗 獲得超13個贊
Go 是一種靜態(tài)類型語言。另外GO
是不是一種腳本語言。雖然我們看到GO
它像腳本語言一樣運行,但它正在編譯我們編寫的源代碼,然后執(zhí)行 main 函數(shù)。因此,與 Python 或 JavaScript 等腳本語言不同,我們應該將其GO
視為使用C, JAVA, C++
單引號''
來聲明字符 ( rune, char
) 的地方。
我認為由于這是一種新語言,而當前的趨勢是腳本語言,因此出現(xiàn)了這種混亂。
- 3 回答
- 0 關注
- 350 瀏覽
添加回答
舉報
0/150
提交
取消