Installation
# 러스트 설치 매니저 설치
$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
$ export PATH="$HOME/.cargo/bin:$PATH"
# 러스트 버전 매니저를 통한 최신 버전 확인 및 업데이트
$ rustup update
# 러스트 컴파일러의 버전 확인
$ rustc --version
Hello World
러스트의 실행 진입점은 main.rs
파일이다. 러스트 소스 파일의 모든 확장자는 .rs
이다. 관례로, 여러 단어로 이루어진 소스 파일을 네이밍 하는 경우 다음처럼 네이밍 하는것을 권장한다.
helloworld.rs
-> hello_world.rs
메인 함수에서 'Hello, World!' 문자열을 출력하기 위해서 다음 처럼 작성한다.
fn main() {
println!("Hello, world!");
}
러스트 컴파일러를 통해 소스 코드를 기계어로 변환한다.
$ rustc main.rs
기계어로 변환한 프로그램을 실행한다.
$ ./main
> Hello, World!
Cargo
러스트의 빌드 시스템 및 패키지 매니저.
# Cargo가 설치되어 있는지 확인하기
$ cargo --version
> cargo 1.52.0 (69767412a 2021-04-21)
# Cargo를 통해서 새로운 프로젝트 생성하기
$ cargo new <project_name> <project_type>
# tree 명령어를 통한 프로젝트 구조 확인하기
$ tree ./
./
├── Cargo.lock
├── Cargo.toml
├── Chapter_1.iml
├── ReadMe.md
└── src
├── main
└── main.rs
# Cargo.toml 파일을 통해 생성한 프로젝트의 메타 데이터 확인하기
$ cat Cargo.toml
[package]
name = "chapter_1"
version = "0.1.0"
authors = ["HamSungJun <tjdwns5123@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
...
# 개발한 러스트 프로젝트를 개발용으로 빌드하기
$ cargo build
Compiling chapter_1 v0.1.0
Finished dev [unoptimized + debuginfo] target(s) in 0.47s
# 개발한 러스트 프로젝트를 배포용으로 빌드하기
$ cargo build --release
Compiling chapter_1 v0.1.0 (/Users/jun/Desktop/Dev/Dive-To-Rust/Chapter_1)
Finished release [optimized] target(s) in 0.24s
# 러스트 소스코드를 컴파일한 후 바로 실행하기
$ cargo run
Compiling chapter_1 v0.1.0
Finished dev [unoptimized + debuginfo] target(s) in 0.26s
Running `target/debug/chapter_1`
Hello, World!
# 러스트 소스코드 컴파일이 문제없을지 확인하기
$ cargo check
Checking chapter_1 v0.1.0 (/Users/jun/Desktop/Dev/Dive-To-Rust/Chapter_1)
Finished dev [unoptimized + debuginfo] target(s) in 0.16s