Mam krótki program w Go z następującymi częściami plików. Program struktura katalogów:Czy istnieje skuteczny sposób udostępniania struktury między pakietami golang?
myprogram/
main.go
server.go
routines.go
structs.go
Te różne pliki zawierają inną funkcję. Plik structs.go
zawiera listę typu struktury zdefiniowaną i używaną w kilku plikach mojego programu. Co chcę zrobić, teraz jest podział mój program w pakiecie jak w poniższym przykładzie:
main/
main.go // the main program
server/
server.go // a package imported in main
routines/
routines.go // a package imported in main
Moim problemem jest to, że nie wiem gdzie umieścić structs.go
ponieważ zawiera konstrukcje wykorzystywane w kilku pakietu, tak jak w kod "main.go".
Jak skutecznie udostępniać ten plik structs.go
? Czy powinienem go dołączyć (za pośrednictwem dowiązania symbolicznego do pliku) do każdej z zdefiniowanych przeze mnie paczek, tj. server
i routines
, a także do głównej?
Moja metoda może być niezręczna, ponieważ jestem początkującym użytkownikiem Go i ogólnie programowaniem.
Nie ma potrzeby rozdzielania rzeczy na własny pakiet. Zadaj sobie pytanie: Jakie rzeczywiste korzyści wynikają z tego podziału? A teraz porównajcie z kosztami. – Volker
Celem jest ponowne wykorzystanie niektórych z tych pakietów w innych programach niż "główne". – ElieLie