A Rust è possibile restituire una tupla con più di un valore:
fn my_func() -> (u8, bool) {
(1, true)
}
Un linguaggio di tornare più di un valore non è probabilmente emulando questo con una tupla o di un'altra struttura di dati, come nella maggior parte delle convenzioni di chiamata del valore di ritorno è in un solo registro.
Non si può parlare di Go, ma ci sono alte probabilità che stiano semplicemente emulando i valori multipli all'interno di una tupla e in fase di compilazione obbligandoti a gestire i ritorni.
Non vedo alcun problema con la ruggine, questo è il modo in cui ocaml o haskell (e altri) lo gestiscono, e applicano il controllo del tipo nei valori di ritorno (o tupla), quindi è probabile che qualcosa vada male. Il modo più comune per gestire i valori di ritorno è la decostruzione della tupla in due o più associazioni (let a, b = tuple_2()
).
Solo i miei due centesimi, sentiti libero di correggermi.
la soluzione migliore, non l'ho provato prima. Sembra che abbiamo dovuto usare la tupla per simularlo. Grazie! – sunny2016
Le parentesi sono obbligatorie anche in Vai. ;) – weberc2
No, non lo sono. (Stava parlando dell'istruzione 'return'). – Timmmm