Re: [go-nuts] How to refactor out this function

2018-08-07 Thread Tong Sun
Thanks a lot Sam. A follow up question, what's the Go way of naming such functions? Java would name it like "somethingFactory", C# would name it like "GetHelloFunction". what's the typical Go naming, for a factory function that generates Hello handling function? thx On Tuesday, August 7,

Re: [go-nuts] How to refactor out this function

2018-08-07 Thread Sam Whited
You'd want to use a function that returns another function and takes the dependencies as arguments, something like this: func Sender(b *B) func(m *tb.Message) { return func(m *tb.Message) { b.Send(m.Sender, "hello world") } } s := Sender(b) b.Handle("/hello", s) b.Handle("/hi", s

[go-nuts] How to refactor out this function

2018-08-07 Thread Tong Sun
Hi, Consider this function: b.Handle("/hello", func(m *tb.Message) { b.Send(m.Sender, "hello world") }) I tried to refactor the above function to func sayHi(m *tb.Message) {...}, so that I can give an alias to the above /hello command (say to define a /hi com