1. YumaInaura

    Posted

    YumaInaura
Changes in title
+Go | シングルクオートでは文字列を定義できない
Changes in tags
Changes in body
Source | HTML | Preview

問題

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 にマッピングされるようだ。

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
}

解決

文字列はダブルクオートで囲おう。

package main

import (
  "fmt"
)

func main() {
  var player string = "you"
  fmt.Println(player) // you
}

参考