क्या Go में फंक्शन को पैरामीटर के रूप में पास किया जा सकता है?
सभी को नमस्कार! मैंने अभी-अभी Go सीखना शुरू किया है, और मेरे मन में फंक्शन के साथ काम करने के बारे में एक सवाल है। अन्य भाषाओं में, जैसे Python या JavaScript में, मैं फंक्शन को दूसरे फंक्शन के आर्गुमेंट के रूप में पास करने का आदी हूँ। यह callback, इवेंट हैंडलर या सॉर्टिंग स्ट्रेटेजी बनाने के लिए बहुत सुविधाजनक है।
Go में, मैंने पाया कि फंक्शन एक अलग एंटिटी है। मैं एक ऐसा फंक्शन लिखने की कोशिश कर रहा हूँ जो दूसरे फंक्शन को स्वीकार करता है और उसे ऐरे के एलिमेंट्स पर लागू करता है, लेकिन कंपाइलर मेरे कोड पर आपत्ति जताता है।
यहाँ मैं क्या करने की कोशिश कर रहा हूँ:
```go
package main
import "fmt"
func applyToSlice(s []int, fn func(int) int) []int {
result := make([]int, len(s))
for i, v := range s {
result[i] = fn(v)
}
return result
}
func main() {
nums := []int{1, 2, 3, 4}
// मैं एक फंक्शन पास करना चाहता हूँ जो संख्या को दोगुना करता है
doubled := applyToSlice(nums, func(x int) int {
return x * 2
})
fmt.Println(doubled)
}
```
यह कोड काम करता है, लेकिन मैं