반응형
Rust에서 'let x = x'는 무엇을합니까?
이 코드 는 야생에서 보았습니다 .
fields.sort_by_key(|&(_, ref field)| field.tags().into_iter().min().unwrap());
let fields = fields;
뭐라고합니까 let fields = fields;
라인은 무엇입니까? 왜 거기에 있습니까?
그것은 만드는 fields
불변 다시합니다.
fields
이전에 변경 가능 ( let mut fields = …;
) 으로 정의되어 sort_by_key
내부 정렬 과 함께 사용되며 대상이 변경 가능해야합니다. 저자는 추가 변경 가능성을 명시 적으로 방지하기 위해 여기에서 선택했습니다.
변경 가능한 바인딩을 변경 불가능한 바인딩 "다운 그레이드"하는 것은 Rust에서 매우 일반적입니다.
이를 수행하는 또 다른 일반적인 방법은 블록 표현식을 사용하는 것입니다.
let fields = {
let mut fields = …;
fields.sort_by_key(…);
fields
};
이 명령문 let var = var;
은 var
변경 불가능 하게 만들고 현재 값에 바인딩됩니다. 이전 fields
과 같이 선언되었습니다 mut
.
참고 URL : https://stackoverflow.com/questions/54595345/what-does-let-xx-do-in-rust
반응형
'Programing' 카테고리의 다른 글
C ++에서 함수에서 벡터를 반환하는 것은 여전히 나쁜 습관입니까? (0) | 2020.08.16 |
---|---|
Spring Security / SpringMVC에서 인증 된 사용자를 수동으로 설정하는 방법 (0) | 2020.08.16 |
정적 메서드와 인스턴스 메서드의 성능 (0) | 2020.08.16 |
스칼라가 종속 유형을 명시 적으로 지원하지 않는 이유는 무엇입니까? (0) | 2020.08.16 |
내 wcf 서비스의 생성자에 값을 어떻게 전달합니까? (0) | 2020.08.16 |