2010-02-02 10 views
13

मेरे स्रोत फ़ाइलें पेड़ इस तरह है:पैकेज का सही तरीके से उपयोग करने के लिए, निर्देशिका, फ़ाइल नाम, यूनिट परीक्षण फ़ाइल कैसे व्यवस्थित करें?

/src 
    /pkg 
    /foo 
     foo.go 
     foo_test.go 

foo.go के अंदर:

package foo 

func bar(n int) { 
    ... 
} 
foo_test.go अंदर

:

package foo 

func testBar(t *testing.T) { 
    bar(10) 
    ... 
} 

मेरे प्रश्न हैं:

  1. पैकेज का नाम रिलायंस करता है निर्देशिका नाम, स्रोत फ़ाइल नाम के लिए एट्स?
  2. यदि पैकेज के लिए केवल एक स्रोत फ़ाइल है, तो मुझे इसे निर्देशिका में रखना चाहिए?
  3. क्या मुझे उसी पैकेज में foo.go और foo_test.go रखना चाहिए?
  4. foo_test.go में, क्योंकि यह foo.go के समान पैकेज में है, मैंने foo आयात नहीं किया था। लेकिन जब मैं 6 जी के साथ foo_test.go संकलित करता हूं, तो यह कहता है कि बार() अनिर्धारित है। मुझे क्या करना चाहिए? -

उत्तर

8

1 भाषा कल्पना निम्नलिखित कहते हैं:

साझा करने में एक ही PackageName एक पैकेज के कार्यान्वयन के रूप में फ़ाइलों का एक सेट। एक कार्यान्वयन की आवश्यकता हो सकती है कि एक पैकेज के लिए सभी स्रोत फाइलें एक ही निर्देशिका में रहें।

तो ऐसा लगता है कि फ़ाइलों/निर्देशिकाओं के नामकरण पर कोई आवश्यकता नहीं है, लेकिन एक फ़ाइल में पैकेज बनाने वाली सभी फाइलों को रखना सुरक्षित होगा।

2 - स्पष्ट रूप से फ़ाइल कुछ निर्देशिका में होना चाहिए। मुझे लगता है कि आपका मतलब है "क्या मुझे इसे src की उपनिर्देशिका में रखना चाहिए?" ऐसा लगता है कि उपर्युक्त उद्धरण के आधार पर मुझे लगता है कि अगर आप वास्तव में चाहते थे तो src में आपकी सभी फाइलें सीधे हो सकती हैं।

3 - हां।

4 - go test

का उपयोग करें
संबंधित मुद्दे