<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-03-22 19:23 GMT+01:00 enrico franchi <span dir="ltr"><<a href="mailto:enrico.franchi@gmail.com" target="_blank">enrico.franchi@gmail.com</a>></span>:<br><div><br></div><div>> [...] </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>In Go, invece, come dicevo piu' sotto, te lo da. Appunto perche' in C una generica espressione non ti da garanzie sull'ordine di valutazione (per esempio invece , lo fa && lo fa || lo fa, etc). Viceversa, in Go il linguaggio ti dice l'ordine di valutazione delle cose, che vuole dire che essenzialmente ogni operazione introduce un sequence point o giu' di li.</div><div><br></div><div>Ovvero se in go scrivi f() & g() sai che f() sara' completamente valutata prima di iniziare a valutare g() [nota, go routine et similia non contano, perche' se dentro f c'e' qualcosa tipo go h(), il side effect e' "lanciare una go-routine che esegue h, i side effect di h non contano).</div></div></div></div></blockquote><div><br></div><div><a href="http://dave.cheney.net/2013/11/15/evaluation-order-oddity">http://dave.cheney.net/2013/11/15/evaluation-order-oddity</a></div><div><br></div><div>Non lo avevo notato leggendo tempo fa la specifica del linguaggio.</div><div><br></div><div></div></div></div><div class="gmail_extra">> [...]</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ciao  Manlio</div></div>