[Golang]文字列(string)の長さ(サイズ)を取得するには?

Go

どうも、ちょげ(@chogetarou)です。

文字列(string)の長さ(サイズ)を取得する方法を紹介します。

スポンサーリンク

方法

文字列(string)の長さ(サイズ)を取得する方法は、2つあります。

RuneCountInString()

ひとつは、「RuneCountInString()」を使う方法です。

まず、「unicode/utf8」をインポートします。

import "unicode/utf8"

次に、utf8からRuneCountInString()を呼び出します。

そして、RuneCountInString()の引数に対象の文字列を指定します。

//text=対象の文字列
result := utf8.RuneCountInString(text)

上記のRuneCountInString()は、引数に指定した文字列(string)の長さ(サイズ)を文字数として取得します。

使用例

package main

import (
	"fmt"
	"unicode/utf8"
)

func main() {
	text1 := "Hello,World"
	text2 := "こんにちは、世界"

	result1 := utf8.RuneCountInString(text1)
	result2 := utf8.RuneCountInString(text2)

	fmt.Println(result1)
	fmt.Println(result2)
}
出力:
11
8

len()

もうひとつは、len()を使う方法です。

まず、len()を呼び出します。

そして、len()の引数に文字列を指定します。

//text=対象の文字列
result := len(text)

上記のlen()は、引数に指定した文字列(string)の長さ(サイズ)をバイト数として取得します。

もし、len()で文字列(string)の文字数を取得したい場合は、文字列(string)をスライスに変換します。

//文字列の文字数を取得
result1 := len([]rune(text))

使用例

package main

import (
	"fmt"
)

func main() {
	text1 := "Hello,World"
	text2 := "こんにちは、世界"

	result1 := len(text1)
	result2 := len(text2)

	fmt.Println(result1)
	fmt.Println(result2)
}
出力:
11
24

まとめ

文字列(string)の長さ(サイズ)を取得する方法は、次の2つです。

  • RuneCountInString()を使う方法
    result := utf8.RuneCountInString(text)
  • len()を使う方法
    result := len(text)

コメント

タイトルとURLをコピーしました