मैं दूसरे फ़ंक्शन से init फ़ंक्शन को कॉल क्यों नहीं कर सकता, init() बस सही काम कर रहा है, मैं सिर्फ init फ़ंक्शन को कॉल क्यों नहीं कर सकता, क्या मुझे इसे बनाने के लिए गोलांग आरएफसी बदलना चाहिए हुआ

package main

import (
    "fmt"
)

func init() {
    fmt.Println("Hello, playground")
}

func main() {
    go init()
    fmt.Println("Hello, playground")
}

त्रुटि :

./prog.go:12:8: undefined: init
-4
Kipli Antonio Carle Mene 24 जुलाई 2019, 19:23

2 जवाब

सबसे बढ़िया उत्तर

गो प्रोग्रामिंग भाषा विशिष्टता

पैकेज आरंभीकरण

init पहचानकर्ता का उपयोग केवल init कार्यों को घोषित करने के लिए किया जा सकता है, फिर भी पहचानकर्ता स्वयं घोषित नहीं किया जाता है। इस प्रकार किसी प्रोग्राम में कहीं से भी init फ़ंक्शन को संदर्भित नहीं किया जा सकता है।


अपने उद्देश्य को पूरा करने के लिए, एक फ़ंक्शन को कॉल करें।

उदाहरण के लिए,

package main

import (
    "fmt"
)

func init() {
    f("init")
}

func f(s string) {
    fmt.Printf("f(%q)\n", s)
}

func main() {
    f("main")
}

खेल का मैदान: https://play.golang.org/p/isyrCIeYCV4

आउटपुट:

f("init")
f("main")
1
peterSO 24 जुलाई 2019, 19:55

Init को कॉल नहीं किया जा सकता है, यह पैकेज लोड होने पर चलेगा।

package main

import (
    "fmt"
)

func init() {
    fmt.Println("Hello, playground")
}
func main(){
}

परिणाम: नमस्कार, खेल का मैदान

-1
art of go 25 जुलाई 2019, 04:56