Rust 함수 사용법. 세미콜론 활용법이 독특하다!
SEMONAN
이번 시간에는 Rust에서 Function 사용법을 공부하려고 합니다.
Function 사용법이 큰 맥락에서는 다른 언어와 비슷하긴 한데요. 아주 특별한 점이 하나 있습니다. 그 부분을 꼭 알아야 Function을 사용할 수 있으니 끝까지 잘 따라 오세요.
함수의 기본 형태입니다.
fn으로 시작하고 함수명, 소괄호, 중괄호안에 코드를 입력할 수 있습니다. 이 부분은 다른 언어와 비슷합니다.
그리고 another_function 을 만들었는데 main 함수에서 호출해서 쓸 수 있는거죠.
Function 파라미터 부분의 예제입니다.
여러개의 파라미터를 사용할 수 있습니다.
여기까지는 일반적입니다.
이제부터 집중 하세요.
let x = (let y=6); 이렇게 실행하면 오류가 발생합니다.
let x는 값을 받아야 되는데 let y=6은 리턴값이 없으므로 오류가 발생합니다.
다른 예제로 넘어 가겠습니다.
실행해 보면 정상 빌드가 되고, 결과값은 The value of y is: 4 이렇게 출력됩니다.
여기서 중요한 점은 ;이 없으면 리턴한다는 뜻입니다.
x+1에는 세미콜론이 없습니다. 그래서 이 부분은 리턴한 다는 뜻입니다. 즉 x+1의 값을 리턴한다는 것입니다.
y의 값은 4가 됩니다.
Rust에서는 세미콜론의 유무가 다르게 작동하니 정확히 알고 코딩해야 합니다.
이렇게 Function을 정의할 수 있습니다. -> 옆에 타입을 쓸 수 있습니다. 5는 세미콜론이 없으니 리턴한다는 의미입니다.
finve()라는 함수를 호출하면 x는 5가 들어갑니다.
마지막 예제 코드를 보면서 공부한 것을 종합적으로 살펴 봅시다.
첫번째 예제코드
이 예제는 정상적인 소스코드입니다. plus_one이라는 함수를 만들었고, x라는 파라미터를 받고 있습니다. i32 타입으로 리턴값이 있습니다. x+1은 세미콜론이 없으니 값을 리턴합니다. 그래서 6이라는 값이 x에 들어갑니다.
이 코드는 x+1; 에 세미콜론이 있습니다. 그래서 let x에 값이 들어갈수가 없습니다. 컴파일시에 오류가 발생합니다.
여기까지 Rust의 함수 사용법을 공부해 봤습니다. 세미콜론 사용법을 꼭 기억하세요!
도움 되시길 바랍니다.
Reference
https://www.youtube.com/watch?v=ioWZcVzPL-o&list=PLdvEO-IMMcPvfiBkVwgIwDf4AuTjI2aeG&index=2