はじめに
ググっていて、「intをstringにキャストする」…といったパターンはたくさん情報があったのですが、「uint64をstringにキャストする」といった情報が少なかったので、共有したいと思います。
いきなり結論
s = strconv.FormatUint(i,10)
i : uint64
型
s : string
型
コピペで使える全体のコードは以下の通りです。
解説
1行目で uint64
で指定した変数i
ですが、 s := strconv.FormatUint(i,10)
ここで、string型にキャストされ s
に代入されています。
最後に、 abc
と足し算すると 100abc
と表示されることからも、この s
が文字列にキャストされたことが確認できます。
strconv.FormatUint(i,10) の 10は10進数を表す
第2引数では、数値を何進数で文字列としてキャストするかを指定できます。
動作例は以下の通りです。
package main
import(
"strconv"
"fmt"
)
func main(){
var i uint64 = 10
s2 := strconv.FormatUint(i,2)
s10 := strconv.FormatUint(i,10)
s16 := strconv.FormatUint(i,16)
fmt.Println(s2, s10, s16) // => 1010 10 a
}
2進数だと 1010
、10進数だとそのまま 10
、16進数だと a
と表示されているのが分かります。
詳しいパッケージの解説についてはgo言語.comさんへ
さいごに
最後まで読んで頂き、ありがとうございました。
また、間違っていることなどがあれば、Twitter等でご連絡頂けると嬉しいです。