버림
C#의 버림은 식의 결과 또는 결과의 일부를 사용하지 않겠다는 의도를 컴파일러와 다른 개발자에게 나타냅니다.
적용할 수 있는 위치는 여러 곳입니다. 가장 간단한 예로 식의 결과를 무시하는 C# 코드를 살펴보겠습니다.
_ = city.GetCityInformation(cityName);
Rust에서 식의 결과를 무시할 때도 같은 형태로 작성합니다.
_ = city.get_city_information(city_name);
C#에서 튜플을 분해할 때도 버림을 사용할 수 있습니다.
var (_, second) = ("first", "second");
Rust에서도 같은 방식으로 작성합니다.
let (_, second) = ("first", "second");
Rust는 튜플뿐 아니라 구조체와 열거형의 분해도
지원합니다. 이때 ..는 타입에서 나머지 부분을 뜻합니다.
struct Point {
x: i32,
y: i32,
z: i32,
}
let origin = Point { x: 0, y: 0, z: 0 };
match origin {
Point { x, .. } => println!("x is {}", x), // x is 0
}
패턴을 일치시킬 때 결과의 일부를 버리거나 무시하면 편리한 경우가 있습니다. 다음은 C# 예제입니다.
_ = ("first", "second") switch
{
("first", _) => "first element matched",
(_, _) => "first element did not match"
};
Rust에서도 거의 같은 형태로 작성합니다.
_ = match ("first", "second")
{
("first", _) => "first element matched",
(_, _) => "first element did not match"
};