Re:Functional Programming Library for Golang by IBM
by assbuttbuttass on Friday August 18, 2023 @10:20AM
(#37176000)
I've used the slices package and I agree it's useful. I was wondering more about generics use in application code
[ Parent
| on HN ]
Re:Functional Programming Library for Golang by IBM
by shinies on Friday August 18, 2023 @10:48AM
(#37176414)
Before the slices package you had to write those functions for all your types, it's much better now!
I also like using generics for API request/response code, ex: https://go.dev/play/p/OWf9eFmg1qF
With generics you don't need to return any/interface{} / type assert at runtime
Re:Functional Programming Library for Golang by IBM
by assbuttbuttass on Friday August 18, 2023 @12:41PM
(#37178261)
Hmm for this example I would be more inclined to use an output parameter rather than generics
func Request(req, resp any) error {
// send request (http, etc)
b, err := json.Marshal(req)
if err != nil {
return err
}
log.Printf("sent request %+v - %s", r, b)
// read response
if err := json.Unmarshal([]byte(`{"success": false, "error": "invalid login"}`), resp); err != nil {
return err
}
return nil
}
But I kind of agree it's nicer to use a return value rather than an output parameter. I'm excited to see what other new uses people come up with for generics!