Les interfaces en go c'est vraiment pas simple ... Pour citer l'article :
Go’s interfaces are one of it’s best features, but they’re also one of the most confusing for newbies.
mais l'exemple est assez parlant :
type Walker interface {
Walk(miles int)
}
type Camel struct {
Name string
}
func (c Camel) Walk(miles int) {
fmt.Printf(“%s is walking %v miles\n”, c.Name, miles)
}
func LongWalk(w Walker) {
w.Walk(500)
w.Walk(500)
}
func main() {
c := Camel{“Bill”}
LongWalk(c)
}
// prints
// Bill is walking 500 miles.
// Bill is walking 500 miles.
Un très bon example ELI5 de goroutines, c'est plus simple de l'expliquer sans channel en fait ... enfin c'est plus simple de le comprendre :D
Une page qui explique très bien ce qu'est une interface !
Un fucking fichier qui permet d'apprendre go assez rapidement :) so far so clear, en français en plus. Ca va me faciliter la vie tout ça
Un repo github qui liste tous les softs bien foutu en golang