[解決済み] Goではマップは値で渡されるのですか、それとも参照で渡されるのですか?
2022-05-30 13:38:17
質問
Goではマップは値で渡されるのですか、それとも参照で渡されるのですか?
関数を以下のように定義することは常に可能ですが、これはやりすぎでしょうか?
func foo(dat *map[string]interface{}) {...}
戻り値についても同じ質問があります。マップへのポインタを返すべきなのか、それともマップを値として返すべきなのか?
もちろん、不必要なデータコピーを避けるためです。
どのように解決するのですか?
このスレッドでは、あなたの答えが見つかります。
マップではポインタを使う必要はありません。
マップ型はポインタやスライスのような参照型です[1]。
もしSessionを変更する必要があれば、ポインタを使用することができます。
map[string]*Session
関連
-
[解決済み] 関数呼び出しで「値として使用」される
-
goland reports an error: package XXX is not in GOROOT (X:\XXXGo ╱src╱XXX)
-
[解決済み] SETNXでシングルインスタンスのRedisをロックする
-
[解決済み] go getとgo installの違いは何ですか?
-
[解決済み] 全モジュールのアップデートを行う
-
[解決済み] Goでオブジェクトの型を見つけるには?
-
[解決済み] パラメータと戻り値におけるポインタと値の比較
-
[解決済み] "宣言されているが使用されていない "という迷惑なエラーを回避する方法
-
[解決済み】Goの構造体のスタックとヒープ割り当て、およびガベージコレクションとの関連性
-
[解決済み】インターフェースのスライスを変換するタイプ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] go run: 非メインパッケージは実行できません
-
[解決済み] Goで構造体のフィールドを反復処理する
-
go build error, error can't load package: package xxx is not in GOROOT (D:\basic_tool╱GoGoSrc╱)
-
[解決済み] goでローカルパッケージをインポートするには?
-
[解決済み] Goテスト文字列が部分文字列を含む
-
[解決済み] mod initは新しいフォルダを作成しますか? パスの意味は?
-
[解決済み] go mod vendor` コマンドの目的は何ですか?
-
[解決済み] Goでオブジェクトの型を見つけるには?
-
[解決済み] GOPATHとGOROOTの値はどうすればよいですか?
-
[解決済み】init()関数はいつ実行されるのですか?