2014-10-30 4 views

답변

39

이들은 선택 사항이 아닙니다. 세미콜론은 표현식 문의 동작을 수정하므로 코드 행에 사용할지 여부를 의식적으로 결정해야합니다.

녹의 거의 모든 것이 표현식입니다. 표현식은 값을 반환하는 것입니다. 세미콜론을 쓰면이 표현식의 결과를 숨길 수 있습니다. 대부분의 경우 원하는 것입니다.

반면에 세미콜론이없는 표현식으로 함수를 끝내면이 마지막 표현식의 결과가 반환된다는 것을 의미합니다. 동일한 내용이 match 문에있는 블록에 적용될 수 있습니다.

값이 예상되는 곳이면 어디에서나 세미콜론없이 표현식을 사용할 수 있습니다. 예를 들어

: 여기

let a = { 
    let inner = 2; 
    inner * inner 
}; 

값이 억제되지 않도록 식 inner * inner는 세미콜론으로 끝나지 않는다

. 블록의 마지막 표현식이므로 해당 값이 반환되어 a에 할당됩니다. 같은 줄에 세미콜론을 넣으면 inner * inner 값이 반환되지 않습니다.

특정 경우에 let 문을 억제하지 않으면 컴파일러에서 오류가 발생합니다. 사실 let은 표현식이 아닙니다.

+0

세미콜론을 포함하는 표현식에 대해서도 https://rustbyexample.com/expression.html을 확인할 수 있습니다. – nbro