การประกาศ function ในภาษา Rust นั้น ก็เหมือนกับการประกาศในภาษาอื่นๆ ซึ่งจะประกอบไปด้วย คำขึ้นต้น ชื่อฟังก์ชั่น arguments และ return ซึ่งหน้าตามันก็จะประมาณนี้

fn main() {
    print_hello();
}

fn print_hello() {
    println!("Hello, from Rust!");
}

basic function syntex

คำขึ้นต้นของภาษา Rust นั้นจะใช้ fn ตามด้วยตัวแปร ที่อยู่ใน format ของ snack_case

ถ้าเราอยากส่งค่าไปให้ และ return ข้อมูลกลับมา ก็แค่วางตัวแปรเอาไว้เฉยๆ แบบนี้

fn main() {
    let add_result = add(1, 2);
    println!("1 + 2 = {}", add_result);
}

fn add(a: i32, b: i32) -> i32 {
    // return a + b
    a + b
}

send parameter and return value

สิ่งที่ต้องเพิ่มเข้าไป คือ ถ้าส่งค่าไปให้ระบุตัวแปรที่ใช้ระบค่า และ data type ของมัน (a: i32, b: i32)

ส่วนข้อมูลที่จะ return กลับมาก็ต้องระบุ data type ที่จะ return ค่ากลับมาด้วย ซึ่งมันจะถูกประกาศอยู่ระหว่าง () และ {} ตามในตัวอย่าง ซึ่งก็คือ -> i32

fn main() {
    let add_result = add(1, 2);
    println!("1 + 2 = {}", add_result);
}

fn add(a: i32, b: i32) -> i32 {
    // return a + b
    a + b
}

send parameter and return value

แล้วถ้าเราต้องการจะ return 2 ค่าจะทำยังไง?

ก็ให้เพิ่ม (ค่าที่ 1, ค่าที่ 2) แบบนี้

fn main() {
    let (a, b) = return_two_values(1, 2);
    println!("Set of 1, 2 (multiply 2) => {}, {}", a, b);
}

fn return_two_values(a: i32, b: i32) -> (i32, i32) {
    (a * 2, b * 2)
}

return 2 value

ทั้งหมดนี้เป็นการประกาศ และใช้งาน function ใน Rust ซึ่งมันก็ดูใช้งานง่าย ไม่ได้ยุ่งยากอะไร เราสามารถผ่านมันไปได้อย่างรวดเร็ว 😄