语法:
(x, y) = ( 值 1.值 2)
案例:
script { use Std::Debug; use Sender::test_tuplestests; fun Tuplestest(a: u64, b: u64) { let (x, y) = test_tuplestests::Math_test(a, b); Debug::print(&x); }}
module Sender::test_tuplestests { public fun Math_test(a: u64, b: u64): (bool, u64) { if (a > b){ (true, a) } else { (true, b) } }}
1.通过引用定义变量的别名。
2.引用可以避免直接暴露地址。
引用方式:
1.不可变引用 &。
2.可变引用 &mut。
解除引用:
* 代表解除引用,指向引用对应的值。
需要注意的是:
左值用于赋值(需要&mut)。
右值用于读取。
案例:
通过引用方式,实现 2 个数值的交换:
fun main_test(a: u64, b: u64) { main_test::swap(&mut a, &mut b); Debug::print(&a); Debug::print(&b);}
public fun swap(a: &mut u64, b: &mut u64) { let temp = *a; *a = *b; *b = temp;}
动动手,敲敲吧!!!
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。