首頁 >後端開發 >Golang >Go結構體中如何封裝私有欄位和方法?

Go結構體中如何封裝私有欄位和方法?

Patricia Arquette
Patricia Arquette原創
2024-12-06 22:29:10267瀏覽

How to Encapsulate Private Fields and Methods in Go Structs?

在Go 中封裝結構體的私有字段和方法

在Go 中,實現結構體字段和方法的真正封裝是一個理解問題變數範圍和可見性規則。

按照約定,匯出以大寫字母開頭的標識符,並且可以在聲明包之外存取。相反,小寫標識符只能在包本身內存取。

要私有化mytype 結構及其doPrivate 方法,應採取以下步驟:

  1. 單獨的套件:為mytype 結構及其關聯方法建立一個單獨的包。這可確保只有 mytype 類型的成員才能存取其私人欄位和方法。
  2. 小寫標識符:重新命名 mytype 結構體和 doPrivate 方法,以小寫字母開頭。

產生的程式碼:

// Package mypkg defines the private mytype struct and its methods.
package mypkg

type mytype struct {
    size          string
    hash          uint32
}

// doPrivate can only be accessed by members of mytype.
func (r *mytype) doPrivate() string {
    return r.size
}

現在,僅限會員mytype 結構的 可以存取其私有欄位和方法。 mypkg 套件中的外部類型或函數無法直接存取這些私有成員。

以上是Go結構體中如何封裝私有欄位和方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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