Go Playground - The Go Programming Language
package main import ( "fmt" "reflect" ) func main() { fmt.Printf("Go言語におけるstring型は「不変(immutable)なバイト型のスライス」らしい\n") s := "hello, world" // 宣言 // immutable==再代入不可なので以下は失敗する // s[0] = "a" fmt.Printf("以下はルーン数ではなく、バイト数を取得する : %d\n", len(s)) fmt.Printf("バイト型のスライスの要素を取得するとuint8型の数値が得られる : %d\n", s[0]) fmt.Printf("string()を使うとアルファベット(string型)に変換できる : %s\n", string(s[0])) // 実際にstring型になっていることの確認 fmt.Println(reflect.TypeOf(string(s[0]))) // イテレート例 for i := 0; i < len(s); i++ { fmt.Println(string(s[i])) } // 単に全てを出力するだけなら fmt.Println(s[:len(s)]) // 明示的に末尾を指定 fmt.Println(s[:]) // s[:]とすると配列全体が参照される }