「Go言語」文字列の指定位置の文字を取得するサンプル
形式
文字列変数名[インデックス:長さ]
文字列変数名[:長さ]
文字列変数名[インデックス:]
説明
アルファベットは1文字1バイトですが、日本語はほぼ1文字3バイトです。
マルチバイト文字は、rune型に変換します
使用例
package main import ( "fmt" ) func main() { const ( cftA string = "studyskill" cftB string = "テスト太郎" ) fmt.Println("--------アルファベット文字のアクセス-------------") fmt.Println(cftA[0:1]) fmt.Println(cftA[:3]) fmt.Println(cftA[3:]) fmt.Println(cftA[3:4]) fmt.Println("--------日本語文字のアクセス--------------") fmt.Println(cftB[:3]) fmt.Println(cftB[3:6]) fmt.Println(cftB[6:12]) fmt.Println(cftB[6:12]) fmt.Println("---------rune型に変換するアクセス---------") kk := []rune(cftB) fmt.Println(string(kk[0:1])) fmt.Println(string(kk[:3])) fmt.Println(string(kk[3:])) fmt.Println(string(kk[3:4])) }
実行結果
C:\study\skill\golang>go run 111.go --------アルファベット文字のアクセス------------- s stu dyskill d --------日本語文字のアクセス-------------- テ ス ト太 ト太 ---------rune型に変換するアクセス--------- テ テスト 太郎 太