関数内で匿名スコープを使用する時期と理由は誰か教えてください。 (私は実際に何が呼ばれているのかは分かりません)。Golang関数に匿名スコープが含まれています
私は維持するために、いくつかのレガシーコードを与えてきたとの機能のいくつかは、この「スコープ」が含まれている私が前に見たことがない:私が作成した(デモンストレーション用に簡略化)
func DoSomething(someBoolValue bool) string {
if someBoolValue {
// do some stuff
return "yes"
}
{
// weird scope code
}
return "no"
}
Go Playground実際のコード(エラーをスローする)を示すこれは、変数のスコープとシャドウイングと呼ばれる
2つの異なる変数に同じ識別子が必要な場合、つまりブロック内で 'someBoolValue:=" banana "'を再定義することができます。ブロックの後に渡された値になります。 (同じスコープがfor/if/switch/select/funcブロック内で発生し、他の答えが記載されています) – Plato