main
Antonio De Lucreziis 3 years ago
parent 5a3a0bbb7e
commit c00e86d97d

@ -373,6 +373,24 @@ questo porterebbe a vari problemi sul come generare il codice per questo tipo in
Un modo potrebbe essere fare come Rust e non permettere definire interfacce/trait con metodi/funzioni che introducono nuovi tipi parametrici, vedremo in Go 2...
<!--
Alternativamente molto più semplicemente se abbiamo
```go
type Baz struct{}
func (Baz) Bar[T any](T) {}
```
a questo punto se abbiamo un valore `b` di tipo `Baz` potremmo fare
```
var b Baz
b[int](42)
b[string]("example")
``` -->
## Quando non usare le generics?
Ci potrebbe venire in mente di scrivere una funzione per leggere tutto da un `io.Reader` aggiungendo il vincolo `io.Reader` al _type parameter_

@ -2,4 +2,4 @@ module talk
go 1.19
require golang.org/x/exp v0.0.0-20230224173230-c95f2b4c22f2 // indirect
require golang.org/x/exp v0.0.0-20230224173230-c95f2b4c22f2

Loading…
Cancel
Save