Похоже, что golang не поддерживает все символы юникода для своих рун.
package main
import "fmt"
func main() {
standardSuits := []rune{'♠️', '♣️', '♥️', '♦️'}
fmt.Println(standardSuits)
}
Выдает следующую ошибку:
./main.go:6: missing '
./main.go:6: invalid identifier character U+FE0F '️'
./main.go:6: syntax error: unexpected ️, expecting comma or }
./main.go:6: missing '
./main.go:6: invalid identifier character U+FE0F '️'
./main.go:6: missing '
./main.go:6: invalid identifier character U+FE0F '️'
./main.go:6: missing '
./main.go:6: invalid identifier character U+FE0F '️'
./main.go:6: missing '
./main.go:6: too many errors
Есть ли способ обойти это, или я должен просто жить с этим ограничением и использовать что-то еще?
[]rune{'♠', '♣', '♥', '♦'}
, похоже, это работает. По-видимому, U + FE0F — это селектор вариантов, и, возможно, вам нужно разделить свой глиф на кодовые точки, из которых он состоит. - person Vatine   schedule 14.10.2016