11 Attributes
속성은 몇 모듈, crate나 아이템에 적용되는 메타데이터이다. 이 메타데이터는 다음처럼/으로 사용될 수 있다:
- 조건부 컴파일 되는 코드
- crate 이름이나, 버전과 타입을 정할 때(바이너리 혹은 라이브러리)
- lints를 비활성화 (경고들)
- 컴파일 기능을 활성화 (macros, glob imports, etc.)
- 외부 라이브러리들을 링크할 때
- 단위 테스트 지정 함수
- 벤치마크로 지정 함수
속성이 전체 crate에 적용되야 할 때는 #![crate_attribute]
구문. 그리고 모듈이나 아이템에 적용되야 할 때는, #[item_attribute]
구문. (주의 !
가 빠져있다.)
속성은 다른 문법으로 인자들을 취한다:
#[attribute = "value"]
#[attribute(key = "value")]
#[attribute(value)]