मैं समझता हूं कि "आंतरिक" पैकेज का उपयोग करके कोड को व्यवस्थित करने के तरीके को कैसे व्यवस्थित किया जाए। मुझे दिखाओ क्या संरचना मेरे पास करते हैं:"आंतरिक" पैकेज का उपयोग कैसे करें?
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/
GOPATH पेड़ से बाहर है। जो भी रास्ता मैं main.go
से आयात करने का प्रयास करता हूं, कुछ भी काम नहीं करता है, ठीक काम करने वाला एकमात्र मामला import "./internal/foo|bar"
है। मुझे लगता है कि मैं कुछ गलत करता हूं या सामान्य रूप से "आंतरिक" पैकेज विचार गलत करता हूं। क्या कोई चीजों को स्पष्ट कर सकता है, कृपया?
अद्यतन
ऊपर के उदाहरण केवल मैं क्या जरूरत $GOPATH/src
तहत project/
फ़ोल्डर जगह था सही है। तो चीज आयात पथ है जैसे project/internal/foo|bar
काम करने योग्य है अगर हम इसे केवल project/
उपट्री से आयात करते हैं और बाहर से नहीं।
निर्माण करने के लिए आप संकुल कि '$ GOPATH/src' में नहीं हैं आयात नहीं कर सकते योजना है। 'प्रोजेक्ट/बाज' पैकेज बनाने का प्रयास करें, आप इसे आयात करने में सक्षम नहीं होंगे। अपनी सभी परियोजनाओं को GOPATH में रखें। –
क्या होगा यदि मैं हर परियोजना को GOPATH के तहत नहीं रखना चाहता हूं? –
इस तरह गो उपकरण काम करते हैं। यदि आप एक पैकेज का उपयोग करना चाहते हैं, तो इसे GOPATH के तहत होना चाहिए। – JimB