আমি যেতে বেশ নতুন এবং আমি এই বিজ্ঞপ্তি প্যাকেজটি নিয়ে খেলছিলাম ।
প্রথমে আমার কাছে কোডটি ছিল যা দেখতে দেখতে এই রকম ছিল:
func doit(w http.ResponseWriter, r *http.Request) {
notify.Post("my_event", "Hello World!")
fmt.Fprint(w, "+OK")
}
আমি নিউলাইনটি সংযুক্ত করতে চেয়েছিলাম Hello World!
কিন্তু doit
উপরের ফাংশনে নয় , কারণ এটি বেশ তুচ্ছ হবে, তবে পরবর্তী সময়ে handler
নীচের মত:
func handler(w http.ResponseWriter, r *http.Request) {
myEventChan := make(chan interface{})
notify.Start("my_event", myEventChan)
data := <-myEventChan
fmt.Fprint(w, data + "\n")
}
পরে go run
:
$ go run lp.go
# command-line-arguments
./lp.go:15: invalid operation: data + "\n" (mismatched types interface {} and string)
কিছুক্ষণ গুগল করার পরে আমি এই প্রশ্নটি এসওতে পেয়েছি ।
তারপরে আমি আমার কোডটি এতে আপডেট করেছি:
func handler(w http.ResponseWriter, r *http.Request) {
myEventChan := make(chan interface{})
notify.Start("my_event", myEventChan)
data := <-myEventChan
s:= data.(string) + "\n"
fmt.Fprint(w, s)
}
এটা কি আমার করার কথা ছিল? আমার সংকলক ত্রুটিগুলি চলে গেছে তাই আমি অনুমান করি যে এটি বেশ ভাল? এটা কি দক্ষ? আপনি এটা অন্যভাবে করা উচিত?