2016-01-09 2 views
9

私は勉強しています。文字列で遊んでいるとき、文字列が一重引用符であれば、golangはエラーを出していますが二重引用符はうまくいきます。golangで一重引用符で文字列を割り当てることができません

func main() { 
    var a string 
    a = 'hello' //will give error 
    a = "hello" //will not give error 
} 

これは私がすることはできませんよ、私が遊び場で同じことをしようとすると、私はこのエラーに

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 ' 

を取得していながら、私は私のシステムで

illegal rune literal 

を取得エラーですex pythonの場合のように、この背後にある正確な理由を理解してください。perlは一重引用符と二重引用符の両方で文字列を宣言できます。

+3

他の言語でのセクションでは、コメントとして任意の非空白を治療し、すべてのキーワードは、スペース、タブ、改行で作られています。 「他の言語」は、プログラミング言語ではなく、自然言語ではなく、良い議論ではありません。 – Volker

答えて

31

Goでは、'⌘'は1文字(ルーンと呼ばれます)を表し、"⌘"は文字を含む文字列を表します。

これは、文字列と文字の違いが注目される多くのプログラミング言語で当てはまります(C++など)。

チェックアウト「のコードポイント、文字、ルーン文字は」Go Blog on Strings

+4

生の文字列に対して '\' blah \ ''バックティックを使うこともできます。 – Datsik

関連する問題