[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等でご連絡頂けると嬉しいです。

PON3

PON3

5年くらい前に、30代完全未経験から独学でWeb系のソフトウェアエンジニアになった人。 現在はフリーランスエンジニアとして、大阪の自宅からフルリモートで東京の自社開発企業のお仕事をしている。 主戦場はバックエンドで、Go言語でのAPI開発や、Pythonでのデータ分析が武器。 とは言いつつ、フロントエンドをSPAを実装したり、IaCでクラウドインフラの設計構築したり、スクラム開発でプロジェクト運営したりするなんでも屋。 いつも、ググってきては誰かが書いてくれた記事を見て開発していたが、もらってばかりでなく世の中に返すこともしたいと思い、技術ブログをはじめる。 妻と2歳になる娘の3人暮らし。 何かご用件がある方は、TwitterのDMからどうぞ。