본문으로 건너뛰기

Rust

설치

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Setup

cargo new <project>

Build

cargo build [flags]
  • [flags]
    • --release: 최적화된 빌드

Naming Conventions

ItemConvention
Crates
Modulessnake_case
TypesUpperCamelCase
TraitsUpperCamelCase
Enum variantsUpperCamelCase
Functionssnake_case
Methodssnake_case
General constructorsnew or with_more_details
Convention constructorsfrom_some_other_type
Macrossnake_case!
Local variablessnake_case
StaticsSCREAMING_SNAKE_CASE
ConstantsSCREAMING_SNAKE_CASE
Type parameters간결한 UpperCamelCase, e.g. T
Lifetimes짧은 lowercase, e.g. 'a, 'de, 'src
Features
  • UpperCamelCase에서 축약어는 하나의 단어로 간주합니다.
    • UUID -> Uuid
    • StdIn -> Stdin
  • snake_case에서 단어는 마지막을 제외하고 2 글자 이상으로 간주합니다.
    • b_tree_map -> btree_map
  • get
    • get_을 사용하지 않습니다.
    • get은 사용할 수 있습니다.
    • _mut
    • _unchecked, _unchecked_mut
PrefixCostOwnership
as_Freeborrowed -> borrowed
to_Expensiveborrowed -> borrowed
borrowed -> owned (non-Copy types)
owned -> owned (Copy types)
into_Variableowned -> owned (non-Copy types)