Golangで`int64`と`string`を変換する方法
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
strconv.FormatInt
またはfmt.Sprintf
を使用して、int64
をstring
に変換します。strconv.ParseInt
を使用してstring
をint64
に変換し、エラーを適切に処理します。strconv
関数はより効率的ですが、fmt.Sprintf
は柔軟なフォーマットを提供します。
Golangでint64
とstring
を変換する方法
Golangでは、ユーザー入力、データストレージ、またはシリアライゼーションを扱う際に、int64
とstring
の変換は一般的なタスクです。この記事では、int64
をstring
に、またその逆に変換するさまざまな方法について説明します。
int64
をstring
に変換する
Goでint64
をstring
に変換する方法は、ユースケースに応じて複数あります。
strconv.FormatInt
の使用
strconv
パッケージは、指定された基数でint64
を文字列に変換するFormatInt
関数を提供します。
package main import ( "fmt" "strconv" ) func main() { num := int64(1234567890) str := strconv.FormatInt(num, 10) // int64を10進数の文字列に変換 fmt.Println(str) // 出力: "1234567890" }
fmt.Sprintf
の使用
別のアプローチはfmt.Sprintf
の使用です。これはより柔軟で、出力をフォーマットする際によく使用されます。
package main import ( "fmt" ) func main() { num := int64(1234567890) str := fmt.Sprintf("%d", num) // int64を10進数の文字列としてフォーマット fmt.Println(str) // 出力: "1234567890" }
fmt.Sprintf
関数は、数値を追加のテキストでフォーマットする場合に役立ちます。
str := fmt.Sprintf("数値は %d です", num) fmt.Println(str) // 出力: "数値は 1234567890 です"
string
をint64
に変換する
string
をint64
に戻すには、主にstrconv.ParseInt
関数を使用します。
strconv.ParseInt
の使用
package main import ( "fmt" "strconv" ) func main() { str := "1234567890" num, err := strconv.ParseInt(str, 10, 64) // 10進数として解析し、int64として保存 if err != nil { fmt.Println("エラー:", err) return } fmt.Println(num) // 出力: 1234567890 }
変換エラーの処理
入力文字列が有効な数値でない場合、strconv.ParseInt
はエラーを返します。
str := "invalid123" num, err := strconv.ParseInt(str, 10, 64) if err != nil { fmt.Println("変換に失敗しました:", err) } else { fmt.Println(num) }
どのメソッドを使用すべきか?
メソッド | 変換方向 | パフォーマンス | ユースケース |
---|---|---|---|
strconv.FormatInt | int64 → string | 高速 | 簡単な変換に推奨 |
fmt.Sprintf | int64 → string | わずかに遅い | 数値とテキストをフォーマットする場合に便利 |
strconv.ParseInt | string → int64 | 高速 | 数値文字列の解析に最適 |
fmt.Sscanf (未解説) | string → int64 | 遅い | フォーマットされた文字列の解析に便利 |
結論
Golangでは、strconv
パッケージまたはfmt.Sprintf
を使用して、int64
とstring
を簡単に変換できます。パフォーマンスが重要なアプリケーションでは、strconv.FormatInt
とstrconv.ParseInt
が推奨されます。より柔軟性が必要な場合は、fmt.Sprintf
が適しています。
これらの変換方法を理解することで、Goアプリケーションで数値データを効率的に処理できます。
FAQs
strconv.FormatInt(num, 10)
が最も効率的な方法です。
strconv.ParseInt
を使用し、エラーの戻り値を確認します。
より大きなテキスト文字列内で数値をフォーマットする場合は、fmt.Sprintf
を使用します。
Leapcellは、Goプロジェクトをホストするための最適な選択肢です。
Leapcellは、Webホスティング、非同期タスク、およびRedis向けの次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、またはRustで開発できます。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い - リクエストも料金もありません。
比類のないコスト効率
- アイドル料金なしの従量課金制。
- 例:25ドルで、平均応答時間60msで694万リクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI/CDパイプラインとGitOpsの統合。
- 実用的な洞察のためのリアルタイムのメトリックとロギング。
容易なスケーラビリティと高性能
- 高い同時実行性を容易に処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ - 構築に集中するだけです。
ドキュメントで詳細をご覧ください!
Xでフォローしてください:@LeapcellHQ