1. YumaInaura

    Posted

    YumaInaura
Changes in title
+Go | シングルクオートでは文字列を定義できない
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,66 @@
+# 問題
+
+```go
+package main
+
+import (
+ "fmt"
+)
+
+func main() {
+ var player string = 'you'
+ fmt.Println(player)
+}
+
+// # command-line-arguments
+// ./single_quotes.go:8: missing '
+// ./single_quotes.go:8: syntax error: unexpected ou at end of statement
+// ./single_quotes.go:8: newline in character literal
+```
+
+# 理由
+
+go でのシングルクオートは、Rune という 型を扱うらしい。
+何か文字を渡すと int32 で Unicode Code Point にマッピングされるようだ。
+
+```go
+package main
+
+import (
+ "fmt"
+)
+
+func main() {
+ var english_a rune = 'a'
+ fmt.Println(english_a) // 97
+
+ fmt.Println('b') // 98
+
+ fmt.Println('あ') // 12354
+
+ fmt.Println('い') // 12346
+}
+
+```
+
+# 解決
+
+文字列はダブルクオートで囲おう。
+
+```go
+package main
+
+import (
+ "fmt"
+)
+
+func main() {
+ var player string = "you"
+ fmt.Println(player) // you
+}
+```
+
+# 参考
+
+- http://stackoverflow.com/questions/34691045/cannot-assign-string-with-single-quote-in-golang
+- http://stackoverflow.com/questions/19310700/what-is-a-rune