Une version go un peu simplifiée, sans la dépendance:
packagemainfuncmain(){sayHello:=make(chanbool)sayWorld:=make(chanbool)quitter:=make(chanstring)gofunc(){fori:=0;i<4;i++{print("Hello ")sayWorld<-true<-sayHello}sayWorld<-false}()gofunc(){forreply:=rangesayWorld{// We can range over chans.ifreply==false{break}println("World!")sayHello<-true}quitter<-"Done"}()println(<-quitter)}
J'aime beaucoup ce langage que je trouve très facile à lire. Avec ce code, je comprend très vite que la seule chose que j'ai à comprendre, c'est le cheminement des signaux, et l'ordre des print. Sur cet exemple, c'est très facile, mais il n'y a rien qui dépasse, on peut difficilement faire plus minimaliste, ce qui fait que le code utile qui sera ajouté ne sera pas encombré.
A essayer sur http://play.golang.org/p/QM5xdqKr2f
[^] # Re: Hello World concurrentiel
Posté par SQP . En réponse à la dépêche De tout, de rien, des bookmarks, du bla‐bla #45. Évalué à 4.
Une version go un peu simplifiée, sans la dépendance:
J'aime beaucoup ce langage que je trouve très facile à lire. Avec ce code, je comprend très vite que la seule chose que j'ai à comprendre, c'est le cheminement des signaux, et l'ordre des print. Sur cet exemple, c'est très facile, mais il n'y a rien qui dépasse, on peut difficilement faire plus minimaliste, ce qui fait que le code utile qui sera ajouté ne sera pas encombré.
A essayer sur http://play.golang.org/p/QM5xdqKr2f