golangでstring=を作成する方法
Golang では、文字列型は不変です。これは、文字列が作成されると、その場で変更することはできず、新しい文字列のみを作成できることを意味します。文字列を変更する場合は、変更する前に、[]byte や []rune などの変数タイプに変換する必要があります。
文字列型で「同様の」変数効果を実現する方法をいくつか紹介しましょう。
方法 1: 文字列を []byte または []rune タイプに変換する
文字列の特定の文字を変更する場合は、まず文字列を変数タイプに変換します。 []byte や []rune タイプなど。これは、[]byte または []rune 変換関数を使用して実現できます。
サンプル コード:
str := "Hello, Golang!" bytes := []byte(str) bytes[7] = 'W' str = string(bytes) fmt.Println(str)
上記のコードは、文字列を []byte 型に変換し、7 番目の文字 'H' を 'W' に置き換え、最後に結果を文字 Serial に再変換します。そしてパラレル出力。
同じ操作は、[]ルーン タイプを使用しても実現できます。
str := "Hello, Golang!" runes := []rune(str) runes[7] = '界' str = string(runes) fmt.Println(str)
今回は、7 番目の文字を漢字の「境界」に置き換えます。
文字列は UTF-8 エンコーディングでメモリに保存されるため、[]byte 型を使用して文字列内の文字を変更する場合はエンコーディングの問題に注意する必要があることに注意してください。
方法 2: strings パッケージの Replace 関数を使用する
文字列内の特定の文字を単純に置換するだけの場合は、strings パッケージの Replace 関数を使用できます。
サンプルコード:
str := "Hello, Golang!" str = strings.Replace(str, "Golang", "world", -1) fmt.Println(str)
上記のコードは、文字列内の「Golang」を「world」に置き換えます。
Replace 関数の 3 番目のパラメーターは置換の数です。-1 はすべての一致を置換することを意味します。
方法 3: bytes パッケージの Buffer タイプを使用する
文字列の結合など、文字列に対して複数の操作を実行する必要がある場合は、bytes パッケージの Buffer タイプを使用できます。
サンプル コード:
var buffer bytes.Buffer buffer.WriteString("Hello") buffer.WriteString(" ") buffer.WriteString("Golang!") fmt.Println(buffer.String())
上記のコードでは、Buffer タイプを使用して文字列の結合操作を実装しています。
方法 4: strings.Builder 型を使用する
Go 言語バージョン 1.10 以降、文字列の結合と変更を実現するために string.Builder 型が追加されました。
サンプル コード:
var builder strings.Builder builder.WriteString("Hello") builder.WriteByte(',') builder.WriteString("Golang!") builder.WriteRune('界') fmt.Println(builder.String())
上記のコードは、strings.Builder 型を使用して文字列のスプライシングと変更操作を実装し、Unicode 文字用の WriteRune メソッドも提供します。
方法 5: strconv パッケージの []byte 型と Append シリーズ関数を使用する
他の種類のデータを文字列に変換する必要があり、高パフォーマンスと低メモリ操作が必要な場合は、 strconv パッケージでは、[]byte 型と Append シリーズ関数を使用できます。
サンプル コード:
var data []byte data = strconv.AppendBool(data, true) data = strconv.AppendInt(data, 1234, 10) data = strconv.AppendFloat(data, 3.14, 'f', 2, 64) data = strconv.AppendQuote(data, "Hello, Golang!") str := string(data) fmt.Println(str)
上記のコードは、strconv パッケージの AppendBool、AppendInt、AppendFloat、AppendQuote 関数を使用して、bool、int、float、string 型のデータをそれぞれ []byte に変換します。データの型を変換し、最終的に文字列に変換することで複数のデータ型の結合操作を実現します。
Append 一連の関数を使用する場合は、十分なバッファ領域を手動で割り当てる必要があることに注意してください。
概要:
上記は文字列型を変数にするいくつかの方法であり、特定のニーズに応じてさまざまな方法を選択できます。これらのメソッドを使用する場合は、予期しない問題が発生しないように注意してコードを作成してください。
以上がgolangでstring=を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、ユニットテストのためにGOのモックとスタブを作成することを示しています。 インターフェイスの使用を強調し、模擬実装の例を提供し、模擬フォーカスを維持し、アサーションライブラリを使用するなどのベストプラクティスについて説明します。 articl

この記事では、GENICSのGOのカスタムタイプの制約について説明します。 インターフェイスがジェネリック関数の最小タイプ要件をどのように定義するかを詳しく説明し、タイプの安全性とコードの再利用性を改善します。 この記事では、制限とベストプラクティスについても説明しています

この記事では、コードのランタイム操作に使用されるGoの反射パッケージについて説明します。シリアル化、一般的なプログラミングなどに有益です。実行やメモリの使用量の増加、賢明な使用と最高のアドバイスなどのパフォーマンスコストについて警告します

この記事では、GOでテーブル駆動型のテストを使用して説明します。これは、テストのテーブルを使用して複数の入力と結果を持つ関数をテストする方法です。読みやすさの向上、重複の減少、スケーラビリティ、一貫性、および

この記事では、トレースツールを使用してGOアプリケーションの実行フローを分析します。 手動および自動計装技術について説明し、Jaeger、Zipkin、Opentelemetryなどのツールを比較し、効果的なデータの視覚化を強調しています
