Goの参照渡しと値渡しを今一度記載する

参照渡しはアドレスを変数に持たせるということ

概要

経緯

  • 値渡しは関数内部に渡したクラスの値を変えても呼び出し元に反映されない
  • やっぱたまに混乱する人がいるので記載する
  • Setterを作るなら必ず参照渡しにすること

コード

Goのコードで説明

// 必ずアドレスを入れよう
httpResult := &SecurityTestResult{
    url:          client.URL,
    method:       "GET",
    errorMessage: "",
}

// 渡す側はポインタ参照とする
func (h *httpClient) request(res *SecurityTestResult) {
    h.requestWithBody(res, "")
}