ホームページ  >  記事  >  バックエンド開発  >  たぶんそれはgolangのバッグです(型文字列と文字列が一致しません)

たぶんそれはgolangのバッグです(型文字列と文字列が一致しません)

WBOY
WBOY転載
2024-02-09 08:06:18401ブラウズ

也许是 golang 中的 bag(类型字符串和字符串不匹配)

php エディタの Xinyi が golang でバッグの種類を紹介します。 golang では、バッグ タイプは要素のコレクションを格納するために使用されるデータ構造を指します。他のデータ構造とは異なり、バッグ内の要素は繰り返し出現でき、順序は重要ではありません。つまり、バッグ タイプは、要素の頻度を計算したり、要素が存在するかどうかを判断したりするなど、順序が必要ない状況で非常に役立ちます。なお、golangではbagの型とstringの型が一致しないため、利用時には型変換の問題に注意する必要があります。

質問の内容

なぜこれを行うのかは聞かず、どのようにしてそれが可能なのか教えてください:

gopls エラー: 文字列と文字列型が一致しません

リーリー

最初は lsp サーバーはバカだと思っていましたが、そうではないことが分かりました。

エラーが発生しました: 文字列と文字列型が一致しません

リーリー

グーグルで検索したところ、検索結果でポインターと文字列を比較する場合にのみエラーが発生しました...そこに、型はすべて問題ありません。そうでなければ、私が間違っています。

回避策

メソッドのシグネチャは func (mapsi Mapsi2[T]) SetValue(key string, value T) である必要があります。

はコンパイルの問題とは関係ありませんが、次の点に注意してください:

  • メソッド呼び出しを超えて変更が保持されるように、ポインター レシーバーを使用することもできます。
  • キーが見つからない場合にも対処したい場合があります
プレイグラウンドで見る:

https://www.php.cn/link/6934456f54af5ab56c6f347c6427afeb.一个>

以上がたぶんそれはgolangのバッグです(型文字列と文字列が一致しません)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。