首頁  >  文章  >  後端開發  >  為什麼 Go 中的匿名結構聲明被視為「短符號」?

為什麼 Go 中的匿名結構聲明被視為「短符號」?

Patricia Arquette
Patricia Arquette原創
2024-10-28 09:29:29638瀏覽

  Why are Anonymous Struct Declarations in Go Considered

了解匿名結構體聲明之間的差異

匿名結構體是定義結構體的一種便捷方法,無需為其分配名稱。它們主要用於特定結構定義並不重要或結構僅用於保存和傳遞資料的情況。以下程式碼片段示範了在 Go 中宣告匿名結構體的兩種方法:

<code class="go">var Foo = map[string]struct{}{
  "foo": struct{}{},
}</code>
<code class="go">var Foo = map[string]struct{}{
  "foo": {},
}</code>

在第一個宣告中,將明確型別指定為 struct{}{}。這種多餘的類型聲明是不必要的,因為 Gogland 正確地將其識別為警告。當可以從上下文推斷類型時,Go 允許省略複合文字中的類型。

在第二個聲明中,省略了類型,從而形成 {} 形式。這有時被稱為“短表示法”,因為它不需要明確指定類型。當在映射中使用複合文字時,鍵和值的類型都可以從映射類型本身推斷出來。

因此,宣告 Foo = map[string]struct{}{"foo": {}} 相當於第一個,但 Go 語言允許型別省略。這個簡短的符號不會改變匿名結構的功能;這只是語法上的差異。

以上是為什麼 Go 中的匿名結構聲明被視為「短符號」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn