👋

【Golang】つぶやきstrconv

2021/09/21に公開

strconv

strconvはgolangの組み込みパッケージで、数値やbool型をstring型に、もしくはstring型から他の型へコンバージョンする。

基本的な数値⇔文字列の変換

i, err := strconv.Atoi ("-42") // 文字列→数値
if err != nil {
    fmt.Printf("こらあかんで")
}

s := strconv.Itoa (-42) // 数値→文字列

Parse... : 文字列「からの」変換

他にも変換する型に合わせて、Parse...関数が定義されている。

b, err := strconv.ParseBool("true")

// "3.1415"をfloat64の精度で変換
f, err := strconv.ParseFloat("3.1415", 64)

// "-42"を10進数解釈、int64の精度で変換
i, err := strconv.ParseInt("-42", 10, 64)
u, err := strconv.ParseUint("42", 10, 64)

Format... : 文字列「への」変換

文字列への変換には、Format...関数が使える。

s := strconv.FormatBool(true)

// 第2引数'E':-d.ddddE±dd, 10の累乗
// 第3引数'-1':「ParseFloat が正確に f を返すために必要な最小桁数」。今後要学習
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)

コード例は公式ドキュメントよりお借りしました。

Discussion