第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Go 中通過 Godoc 記錄私有結構上的公共方法

在 Go 中通過 Godoc 記錄私有結構上的公共方法

Go
湖上湖 2021-10-04 16:35:32
我有一個私有結構(實際上不止一個,我在這個例子中簡化了一點)我有一個公共函數,它滿足公共接口。這個結構是通過工廠方法(NewX 風格)創(chuàng)建的:package godocprivatetype PublicInterface interface {    PublicFunction()}type privatestruct struct {}func NewPublic() *privatestruct {    ps := &privatestruct{}    return ps}// PublicFunction does something to be documentedfunc (self *privatestruct) PublicFunction() {}我不能讓工廠方法返回公共接口,因為在我的項目中還有其他接口要滿足返回值。我確實想通過 godoc 記錄 PublicFunction(),但因為它位于私有結構上,所以沒有顯示:有什么方法、技巧、解決方法等可以使 privatestruct.PublicFunction() 在 Godoc 中可見?我的實際用例甚至更嚴重:我確實有不止一個私有結構。它們都滿足PublicInterface,但是它們各自的PublicFunction實現的內部工作原理不同,因此它們的文檔也需要不同......
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

PublicFunction使用PublicStruct其私有字段將是私有的私有文檔。例如,


package godocprivate


type PublicInterface interface {

    PublicFunction()

}


type privatestruct struct {

}


// PublicStruct is something to be documented except for private fields

type PublicStruct struct {

    privatestruct

}


func NewPublic() *PublicStruct {

    ps := &PublicStruct{}

    return ps

}


// PublicFunction does something to be documented

func (p *PublicStruct) PublicFunction() {

}

當PublicStruct被創(chuàng)建它最初具有用于每個場的零個值。如果這還不夠,請引入工廠布爾值。例如,


package godocprivate


type PublicInterface interface {

    PublicFunction()

}


type privatestruct struct {

}


// PublicStruct is something to be documented except for private fields

type PublicStruct struct {

    factory bool

    privatestruct

}


func NewPublic() *PublicStruct {

    ps := &PublicStruct{factory: true}

    return ps

}


// PublicFunction does something to be documented

func (p *PublicStruct) PublicFunction() {

    if !p.factory {

        panic("Use NewPublic")

    }

}


查看完整回答
反對 回復 2021-10-04
  • 1 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號