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

go言語で、スライスを使用して、文字列の一部のデータを取得するサンプルコードを記述してます。go言語のバージョンは1.15.4を使用してます。
環境
- OS windows10 pro 64bit
- go言語 1.15.4
スライス使い方
スライスを使用すると、文字列の一部のデータを取得することが可能です。
文字列[開始位置:終了位置]
※開始位置は0から
以下は、スライスを使って、アルファベットの文字列の一部のデータを取得するサンプルコードとなります。
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
}
終了位置が文字列の長さを超えるとエラーとなります。
fmt.Println(str[2:10])
// panic: runtime error: slice bounds out of range [:10] with length 5
日本語は、1文字3バイト扱いとなるため、位置も3倍する必要があります。
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
コメントを書く