Go में वर्तमान निष्पादन योग्य फ़ाइल की निर्देशिका का पथ कैसे प्राप्त करें?
नमस्ते सहकर्मियों! मैं Go में नया हूँ और एक ऐसी समस्या का सामना कर रहा हूँ जो बुनियादी लगती है लेकिन हल नहीं हो रही। मुझे runtime में वह निर्देशिका जाननी है जहाँ वर्तमान निष्पादन योग्य फ़ाइल (संकलित .exe या बाइनरी) स्थित है।
समस्या यह है कि मैं कॉन्फ़िगरेशन फ़ाइलों के साथ काम करने के लिए एक उपयोगिता लिख रहा हूँ। प्रोजेक्ट संरचना इस प्रकार है: बाइनरी के बगल में configs फ़ोल्डर है, जिसके अंदर config.yaml है। मैं चाहता हूँ कि प्रोग्राम इस फ़ाइल को हार्डकोडेड पथों का उपयोग किए बिना पढ़े, क्योंकि उपयोगकर्ता बाइनरी को कहीं भी कॉपी कर सकता है।
यहाँ मेरा वर्तमान कोड है जो काम नहीं कर रहा:
```go
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
// विभिन्न विकल्प आज़मा रहा हूँ
exe, _ := os.Executable()
fmt.Println("Executable path:", exe)
dir := filepath.Dir(exe)
fmt.Println("Directory:", dir)
configPath := filepath.Join(dir, "configs", "config.yaml")
fmt.Println("Config path:", configPath)
}
```
प