go言語 文字列の一部のデータを取得する

go言語で、スライスを使用して、文字列の一部のデータを取得するサンプルコードを記述してます。go言語のバージョンは1.15.4を使用してます。
環境
- OS windows10 pro 64bit
- go言語 1.15.4
スライス使い方
スライスを使用すると、文字列の一部のデータを取得することが可能です。
1 2 3 |
文字列[開始位置:終了位置] ※開始位置は0から |
以下は、スライスを使って、アルファベットの文字列の一部のデータを取得するサンプルコードとなります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package main import ( "fmt" ) func main() { str := "ABCDE" fmt.Println(str[0:1]) // A fmt.Println(str[0:2]) // AB fmt.Println(str[1:2]) // B fmt.Println(str[2:5]) // CDE fmt.Println(str[1:]) // BCDE fmt.Println(str[:5]) // ABCDE fmt.Println(str[:]) // ABCDE } |
終了位置が文字列の長さを超えるとエラーとなります。
1 2 |
fmt.Println(str[2:10]) // panic: runtime error: slice bounds out of range [:10] with length 5 |
日本語は、1文字3バイト扱いとなるため、位置も3倍する必要があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package main import ( "fmt" ) func main() { str := "あいうえお" fmt.Println(str[0:3]) // あ fmt.Println(str[0:6]) // あい fmt.Println(str[3:6]) // い fmt.Println(str[3:15]) // いうえお fmt.Println(str[3:]) // いうえお fmt.Println(str[:15]) // あいうえお fmt.Println(str[:]) // あいうえお } |
-
前の記事
rails6 tiny_tdsインストール時にエラー「An error occurred while installing tiny_tds (2.1.3), and Bundler cannot continue.」が発生 2021.02.23
-
次の記事
apache2 エラー「Segmentation fault (core dumped)」が発生した場合 2021.02.23
コメントを書く