[Rust] 4. 함수
프로그래밍 언어/Rust2023. 1. 24. 15:31
Rust 함수
Rust 에서 함수 선언은 fn 입니다.
메인 함수도 마찬가지로 fn으로 되어 있죠
fn main() {
}
Rust 의 함수 구성은 다음과 같습니다.
fn 함수명(매개변수명: 자료형, ....) -> 리턴자료형 {
...
// 리턴값은 ; 을 붙이지 않음
x
}
// 예제 함수
fn add(a: i32, b: i32) -> i32 {
a + b
}
함수 구성에서 매개변수를 선언하게 되면 반드시 자료형은 무조건 작성해야 됩니다.
또한 리턴 값에는 세미콜론( ; ) 을 붙이지 않습니다.
간단한 예제로 함수 편을 마무리 하도록 하겠습니다.
fn add(a: i32, b: i32, c: i32) -> i32
{
a + b * c
}
fn main()
{
hello();
// 3개의 변수 선언 모두 i32 타입으로 선언되는 다양한 방법을 보여주기 위함
let a = 2_i32;
let b: i32 = 3;
let c = 5i32;
println!("{} + ({} x {}) = {}", a, b, c, add(a, b, c));
}
fn hello()
{
println!("Hello Rust World!");
}
// ------ 출력 결과 ------ //
Hello Rust World!
2 + (3 x 5) = 17
Tuple 을 활용한 함수 사용 방법 예제
fn main()
{
let str = String::from("Hello");
// tuple 형식으로 반환 받는 방법
let (len, s) = data(str);
println!("{}, {}", len, s);
}
// tuple 리턴 방법
fn data(s: String) -> (usize, String)
{
// 문자열 길이와, 문자열을 리턴
// 참조를 사용하는 방법으로 변경하여야 리소스와 성능에 무리가지 않음
(s.len(), s)
}
'프로그래밍 언어 > Rust' 카테고리의 다른 글
[Rust] 6. 제어문과 반복문 (if, loop, for, while) (0) | 2023.01.26 |
---|---|
[Rust] 5. 주석 (0) | 2023.01.26 |
[Rust] 3. 변수와 데이터 타입 (0) | 2023.01.20 |
[Rust] 2. Rust 설치 없이 온라인에서 코딩하기 (0) | 2023.01.18 |
[Rust] 1. Rust 란? (0) | 2023.01.18 |