[Go] Uint64をstringに変換するにはstrconv.FormatUint関数が便利な件

はじめに

ググっていて、「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等でご連絡頂けると嬉しいです。

PON

PON

30代で、完全未経験から独学でWeb系エンジニアになった人。 前職では、超絶ブラック企業にはまり込んでしまい、年間1200時間の残業をしていたが、娘が生まれたことで我に返って転職を決意。 現在は、大阪にあるベンチャー企業の自社開発プロジェクトで、リードエンジニアとして奮闘中。 主戦場はバックエンドで、Pythonでのデータ分析が武器。 とは言いつつ、SPAのフロントエンドを実装したり、インフラ設計したり、スクラム開発でプロジェクト運営したりするなんでも屋。 いつも、ググってきては誰かが書いてくれた記事を見て開発していたが、もらってばかりでなく世の中に返すこともしたいと思い、技術ブログをはじめる。 妻と1歳になる娘の3人暮らし。 最近は一日一食。 何かご用件がある方は、TwitterのDMからどうぞ。