「Go言語」文字列の指定位置の文字を取得するサンプル

2022年1月20日

形式
文字列変数名[インデックス:長さ]
文字列変数名[:長さ]
文字列変数名[インデックス:]
説明
アルファベットは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型に変換するアクセス---------
テ
テスト
太郎
太

 

Go言語

Posted by arkgame