목차
Statements와 Expressions
Rust에서 함수를 이해하기 위해선, 먼저 Statements ( 구문 )와 Expressions ( 표현식 )의 개념을 이해해야 합니다. Statements와 Expressions는 무엇일까요?
Statements : 어떤 동작을 수행하고, 반환 값이 없는 명령들. ( ';' 있음, 반환 값이 없으므로 r-value 불가 )
Expressions : 결괏값을 산출해 반환해주는 식.( ';' 없음 )
이렇게만 이야기하면 이해가 잘 안 가실 것 같습니다. 저도 그랬습니다.
예제를 살펴보기 전에, '{ }' ( scope , 지역 )과 Statement와 Expression의 관계를 먼저 짚어보겠습니다.
{ Statements만으로 이루어진 scope } => Statement
{ Statements + Expression(마지막) } => Expression
{ Statements + Expression(마지막 아님) } => 컴파일 에러 ( if 문 없을 때 )
위의 규칙들을 머릿속에 염두에 두시고 예제를 보시길 바랍니다.
Statement | Expression |
|
|
Function : Parameter와 Return value
함수를 작성할 때,
- 반환 값을 Expression을 이용해 전달해도 되고, return 명령어를 이용해 전달해도 됩니다.
- Rust에서는 관습적으로 함수 이름을 snake_case로 작성합니다.
- Parameter의 타입은 타입 부연설명을 통해 반드시 명시해야 합니다.
- Return value의 타입은 '->' 오른쪽에 반드시 명시해야 합니다.
Control Flow ( 제어문 )
if, else if, else
Rust에서 조건문을 작성할 때, bool type Expression을 조건으로 작성해야 합니다.
loop
while
while문도 if문과 동일하게 bool type Expression을 조건으로 작성해야 합니다.
for
※ (1..4) => 1, 2, 3
※ (1..4). rev() => 3, 2, 1
공식 도서
https://doc.rust-lang.org/book/
공식 도서 번역본
https://rinthel.github.io/rust-lang-book-ko/
Rust by Example
https://doc.rust-lang.org/stable/rust-by-example/index.html
오늘은 Rust의 Statements, Expression, 함수, 제어문에 대해 알아보았습니다.
저도 글을 작성하며 공부할 수 있는 유익한 시간이었습니다.
여러분께도 유익한 글 되었으면 좋겠습니다.
감사합니다.
'Rust' 카테고리의 다른 글
[example] Rust 표준입력, 한줄로 받은 입력 나누기 (1) | 2021.06.20 |
---|---|
Rust 메모리관리와 Ownership (0) | 2021.06.16 |
Rust 변수,상수, 데이터 타입 (1) | 2021.06.14 |
Rust 프로젝트, 컴파일, 빌드, 릴리즈 (0) | 2021.06.12 |
Rust 개발환경 구축하기 (0) | 2021.06.11 |