rust 案例 元組 通過例子學 Rust

2021-10-13 11:11:52 字數 1452 閱讀 2227

元組

元組是乙個可以包含各種型別的組合。元組使用括號 () 來構成,每個元組的值都是 (t1, t2, ...)

型別標記的形式,其中 t1,t2 是每個元素的型別。函式可以使用元組來返回多個值,因為元組可以

擁有任意數量的值。

// 元組可以充當函式的引數和返回值

fn reverse(pair: (i32, bool)) -> (bool, i32) ", long_tuple.0);

println!("long tuple second value: {}", long_tuple.1);

// 元組也可以充當元組的元素

let tuple_of_tuples = ((1u8, 2u16, 2u32), (4u64, -1i8), -2i16);

// 元組可以列印

println!("tuple of tuples: ", tuple_of_tuples);

let pair = (1, true);

println!("pair is ", pair);

println!("the reversed pair is ", reverse(pair));

// 建立單元素元組需要乙個額外的逗號,這是為了和括號包含的普通資料作區分。

println!("one element tuple: ", (5u32,));

println!("just an integer: ", (5u32));

// 解構元組,將值賦給建立的繫結變數

let tuple = (1, "hello", 4.5, true);

let (a, b, c, d) = tuple;

println!(", , , ", a, b, c, d);

let matrix = matrix(1.1, 1.2, 2.1, 2.2);

println!("", matrix)

動手試一試

重新試一下:在上面的例子中給 matrix 結構體 加上 fmt::display trait,讓你能夠將

列印除錯格式 切換成一般顯示格式 {},得到如下的輸出:

( 1.1 1.2 )

( 2.1 2.2 )

可以回顧之前學過的例子 [列印顯示][print_display]。

以 reverse 函式作為樣本,新增乙個 transpose 函式,使它可以接受乙個 matrix 的引數,並

返回乙個兩個元素元素交換後 matrix。舉個例子:

println!("matrix:\n{}", matrix);

println!("transpose:\n{}", transpose(matrix));

輸出結果:

matrix:

( 1.1 1.2 )

( 2.1 2.2 )

transpose:

( 1.1 2.1 )

( 1.2 2.2 )

通過例子學Vyper(一)

學習一門語言,最好的方法就是動手去實現乙個案例。本文通過乙個官方的公開拍賣合約示例來介紹vyper程式設計。當我們開始用vyper進行智慧型合約程式設計時,要記住乙個重要的原則 所有vyper語法都是有效的python3語法,但並不是所有的python3語法都可以在vyper中使用。在這個合約中,我...

通過日誌恢復MS SQL資料案例

前提條件是資料庫的故障恢復改為非簡單模式,去掉自動關閉和自動收縮兩個選項。1 建立乙個資料庫test 建立時間為2006 11 18 09 40 2 對資料庫進行備份,備份時間為2006 11 18 09 42 語句如下 backup database test to disk d database...

通過日誌恢復MS SQL資料案例

前提條件是資料庫的故障恢復改為非簡單模式,去掉自動關閉和自動收縮兩個選項。1 建立乙個資料庫test 建立時間為2006 11 18 09 40 2 對資料庫進行備份,備份時間為2006 11 18 09 42 語句如下 backup database test to disk d database...