Cerco di capire come organizzare il go code usando i pacchetti "interni". Mi permetta di mostrare ciò che la struttura che ho:Come utilizzare i pacchetti "interni"?
project/
internal/
foo/
foo.go # package foo
bar/
bar.go # package bar
main.go
# here is the code from main.go
package main
import (
"project/internal/foo"
"project/internal/bar"
)
project/
è al di fuori da un albero GOPATH. Qualunque percorso provo a importare da main.go
non funziona nulla, l'unico caso funzionante è import "./internal/foo|bar"
. Penso di fare qualcosa di sbagliato o di ottenere un'idea del pacchetto "interno" in generale. Qualcuno potrebbe chiarire le cose, per favore?
UPDATE
L'esempio precedente è corretto l'unica cosa ho bisogno era di mettere cartella project/
sotto $GOPATH/src
. Quindi la cosa è il percorso di importazione come il project/internal/foo|bar
è praticabile se lo importiamo solo dal sottostruttura project/
e non dall'esterno.
Non è possibile importare i pacchetti che non sono in '$ GOPATH/src'. Prova a creare un pacchetto 'project/baz', non sarai in grado di importarlo. Metti tutti i tuoi progetti in GOPATH. –
Cosa succede se non desidero inserire tutti i progetti in GOPATH? –
Ecco come funzionano gli strumenti go. Se si desidera utilizzare un pacchetto, è necessario che sia in GOPATH. – JimB