Go で文字列を Int64 に変換する
Jay Singh
2022年8月23日
int は一般にインデックス、長さ、または容量に使用されます。int 型は常に、配列の最大長を処理するのに十分な大きさです。
データ型 int8、int16、int32、および int64(およびそれらの符号なしのいとこ)が最も優れています。メモリが問題にならない場合は、int64 が最も一般的な選択肢です。
この記事では、文字列を int64 に変換します。
Go で Parselnt()
を使用して文字列を Int64 に変換する
strconv.ParseInt()
は、10 進文字列(基数 10)を解析し、それが int64 に収まるかどうかをチェックする Go の組み込み関数です。実装は int のサイズを決定します。32 ビットまたは 64 ビットの場合があるため、int から int64 に切り替えてもデータが失われることはありません。
この例では、strconv.ParseInt()
を使用して、10 進文字列(基数 10)を 64 ビットの符号付き整数に変換し、それが適合することを確認します。
package main
import (
"fmt"
"strconv"
)
func main() {
str := "10101101"
n, err := strconv.ParseInt(str, 10, 64)
if err == nil {
fmt.Printf("%d is type %T", n, n)
}
}
出力:
10101101 is type int64
さらに、ParseInt
は文字列を変換し、指定されたベース(0、2 から 36)およびビットサイズ(0 から 64)で適切な値を返します。このメソッドは文字列パラメーターを受け取り、基本パラメーターを使用して、それを int 型に変換します。
デフォルトでは Int64 値を返します。
package main
import (
"fmt"
"reflect"
"strconv"
)
func main() {
strVar := "110"
intVar, err := strconv.ParseInt(strVar, 0, 8)
fmt.Println(intVar, err, reflect.TypeOf(intVar))
intVar, err = strconv.ParseInt(strVar, 0, 16)
fmt.Println(intVar, err, reflect.TypeOf(intVar))
intVar, err = strconv.ParseInt(strVar, 0, 32)
fmt.Println(intVar, err, reflect.TypeOf(intVar))
intVar, err = strconv.ParseInt(strVar, 0, 64)
fmt.Println(intVar, err, reflect.TypeOf(intVar))
}
出力:
110 <nil> int64
110 <nil> int64
110 <nil> int64
110 <nil> int64