2016-03-15 2 views
-5

Я хочу получить доступ к частной функции пакета под названием «тесто». Но он генерирует ошибку как: Недействительная ссылка на невыполненный идентификаторКак получить доступ к частным функциям другого пакета в Голанге?

Укажите способ, с помощью которого частные функции golang доступны в основном.

+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), где у вас есть функция печенья add:

var Pastry = pastry 

в главном корпусе:

mypackage.Pastry() 
+0

Вы предполагаете, что он одобряет изменение источника пакета. – Krom

Смежные вопросы