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

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

如何在 Golang 中訪問另一個包的私有函數?

如何在 Golang 中訪問另一個包的私有函數?

Go
慕尼黑8549860 2021-12-20 19:21:22
我想訪問一個名為“pastry”的包的私有函數。但它生成錯誤為:對未導出標識符的無效引用在main中指定golang私有函數的訪問方式。
查看完整描述

3 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

您可以使用go:linkname將相同/不同包中的函數映射到您的某個函數。例如像:


package main


import (

    "fmt"


    _ "net"

    _ "unsafe"

)


//go:linkname lookupStaticHost net.lookupStaticHost

func lookupStaticHost(host string) []string


func main() {

    fmt.Println(lookupStaticHost("localhost"))

}

[127.0.0.1 ::1]在我的機器上執(zhí)行時會產生。


查看完整回答
反對 回復 2021-12-20
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

根據定義,私有函數在聲明它們的包之外是不可訪問的。

如果您需要該包之外的函數,則必須將其公開(更改函數名稱,將第一個字母變?yōu)榇髮懀?/p>

例如:如果您已將其func doSomething()重命名為func DoSomething()并在包外使用<package name>.DoDomething()


查看完整回答
反對 回復 2021-12-20
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

您還可以添加公共代理功能。


例如:


你有包私有功能


func foo() int {

    return 42

}

您可以在同一個包中創(chuàng)建公共函數,它將調用包私有函數并返回它的結果


func Bar() int {

    return foo()

}


查看完整回答
反對 回復 2021-12-20
  • 3 回答
  • 0 關注
  • 595 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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