1. ホーム
  2. string

[解決済み] Golangの文字列のインデックスを作成するには?

2022-08-02 15:36:50

質問

69ではなく、"E"の出力を得るにはどうしたらよいでしょうか。

package main

import "fmt"

func main() {
    fmt.Print("HELLO"[1])
}

Golangにはcharをbyteに、またその逆に変換する関数はありますか?

どのように解決するのですか?

解釈された文字列リテラルは、個々の文字の (おそらくマルチバイトの) UTF-8 エンコードを使用して、二重引用符 "" で囲まれた文字シーケンスです。UTF-8 では、ASCII 文字は、最初の 128 Unicode 文字に対応するシングルバイトです。文字列は、バイトのスライスのように振る舞います。ルーンは、ユニコードコードポイントを識別する整数値です。したがって

package main

import "fmt"

func main() {
    fmt.Println(string("Hello"[1]))              // ASCII only
    fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
    fmt.Println(string([]rune("Hello, 世界")[8])) // UTF-8
}

出力します。

e
e
界


読んでみてください。

Go プログラミング言語仕様 のセクションで 変換器 .

囲碁ブログ。囲碁の文字列、バイト、ルーン、文字