Как я могу получить доступ к переменной структуры из другого пакета в Go? - PullRequest
0 голосов
/ 28 апреля 2019

Предположим, что у нас есть два разных пакета, скажем, A и B. У меня есть структура в пакете A следующим образом:

type struct1 struct {
   X int
   Y int
}

В пакете B я хочу получить доступ к переменным в struct1, которая является пакетомA. Как я могу это сделать?

1 Ответ

1 голос
/ 28 апреля 2019

В Go тип можно экспортировать, если он начинается с заглавной буквы. Например, Struct1 экспортируется и доступен извне пакета, но struct1 нет, так как он не был экспортирован. Неэкспортированные имена доступны только внутри этого пакета.

Вы можете импортировать пакет A в пакет B и получить доступ к экспортированному типу как A.Struct1:

package B

import (
    "A"
    "fmt"
)

func CreateAndPrintStruct() {
    struct1 := A.Struct1{5, 4}
    fmt.Printf("%+v", struct1)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...