2012-02-15 7 views
7

Come è la visibilità dei membri da un sottopropacchetto al suo pacchetto radice?Visibilità in sotto-pacchetti

Questo è quello che voglio dire:

foo   // the "root" package 
foo/utils // a sub-package 
foo/tools // another sub-package 

Can foo accedere ai membri privati ​​di foo/utils e foo/tools o si comportano come, pacchetti indipendenti separate?

risposta

11

Go non ha alcun concetto di sottodirectory né di sotto-pacchetti. I pacchetti sono separati l'uno dall'altro. Il percorso di importazione "foo/utils" è solo un percorso di importazione (un metodo di come trovare il pacchetto) - la stringa "foo/utils" non ha alcun significato se non la localizzazione del pacchetto sul disco locale o in Internet.

foo non può accedere ai membri privati ​​di foo/utils.

In Go1, ogni directory in un albero di sorgenti corrisponde a un singolo pacchetto. Maggiori informazioni su questo possono essere trovati qui: the go command.