2016-03-15 164 views
-5

我想访问一个名为“pastry”的包的私有函数。但它会产生如下错误: 对未导出标识符的引用无效如何访问Golang中另一个包的私有函数?

指定golang的私有函数可以在main中访问的方式。

+5

你不能。这就是语言的工作方式。 – JimB

+6

“私人”的整个想法是无法访问的。 – Volker

回答

3

使用它的包外,您还可以添加公共代理功能。

例如:

你有包私有函数

func foo() int { 
    return 42 
} 

您可以在同一个包,这将调用包私有函数并返回它创造公共函数的结果

func Bar() int { 
    return foo() 
} 
2

根据定义,私有函数在声明它们的包之外是不可访问的。

如果您需要该功能外的功能,则必须将其公开(更改功能名称,以大写字母开头的第一个字母)。

例如:如果你有func doSomething()其重命名为func DoSomething()<package name>.DoDomething()

0

在包装(比如说mypackage)你有糕点功能添加:

var Pastry = pastry 

在主包:

mypackage.Pastry() 
+0

你假设他批准改变包裹的来源。 – Krom

相关问题