फ़ाइलों या निर्देशिकाओं के लिए एक सामान्य चर नाम "पथ" है। दुर्भाग्य से यह गो में एक पैकेज का नाम भी है। इसके अलावा, DoIt में तर्क नाम के रूप में पथ बदलना, मैं संकलित करने के लिए यह कोड कैसे प्राप्त करूं?कोई एक वैरिएबल नाम का उपयोग उसी नाम के साथ गो में पैकेज के रूप में कैसे करता है?
package main
import (
"path"
"os"
)
func main() {
DoIt("file.txt")
}
func DoIt(path string) {
path.Join(os.TempDir(), path)
}
त्रुटि मैं मिलता है:
$6g pathvar.go
pathvar.go:4: imported and not used: path
pathvar.go:13: path.Join undefined (type string has no field or method Join)
मैं था:,
import
में लाइन"path"
pathpkg "path"
में बदल रहा है तो अपने कोड की शुरुआत इसबेशक तरह से चला जाता है द्वारा pathpkg तो आप में
DoIt
कोड बदलना होगा डर है कि जवाब होगा ... इच्छा एक और तरीका था, लेकिन मैं इसे देख नहीं रहा हूँ। – Nateआप जानते हैं कि किस तरह का विडंबना है? पथ पैकेज कोड में यह सीमा नहीं है। यदि आप पथ पर एक नज़र डालें। स्प्लिट (http://golang.org/src/pkg/path/path.go?s=2665&707#L97), तो आप देखेंगे कि इसमें पथ नामक तर्क है। पथ को फ़ाइल में परिभाषित किया गया है, लेकिन आयात नहीं किया गया है ... – Nate
यह सीमा वहां लागू नहीं होती है, क्योंकि वहां कोई पैकेज 'पथ' आयात नहीं किया गया है और छाया के लिए कोई अन्य 'पथ' चर नहीं है, लेकिन मुझे लगता है कि आप इसे पहले से ही जानते हैं। ;) – macbirdie