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



