「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型に変換するアクセス--------- テ テスト 太郎 太