초보자를 위한 Rust 프로그래밍: Hello World

Beginner

This tutorial is from open-source community. Access the source code

소개

Hello, World에 오신 것을 환영합니다. 이 랩은 Rust Book의 일부입니다. LabEx 에서 Rust 기술을 연습할 수 있습니다.

이 랩에서는 화면에 "Hello, world!" 텍스트를 출력하는 첫 번째 Rust 프로그램을 작성합니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 88%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

Hello, World

이제 Rust 를 설치했으니, 첫 번째 Rust 프로그램을 작성할 차례입니다. 새로운 언어를 배울 때 화면에 Hello, world! 텍스트를 출력하는 작은 프로그램을 작성하는 것이 전통이므로, 여기에서도 똑같이 해보겠습니다!

참고: 이 책은 명령줄에 대한 기본적인 지식을 가지고 있다고 가정합니다. Rust 는 편집, 도구 또는 코드 위치에 대해 구체적인 요구 사항을 두지 않으므로, 명령줄 대신 통합 개발 환경 (IDE) 을 사용하고 싶다면 원하는 IDE 를 자유롭게 사용하십시오. 현재 많은 IDE 가 어느 정도의 Rust 지원을 제공합니다. 자세한 내용은 IDE 의 문서를 참조하십시오. Rust 팀은 rust-analyzer를 통해 훌륭한 IDE 지원을 활성화하는 데 주력해 왔습니다. 자세한 내용은 부록 D 를 참조하십시오.

프로젝트 디렉토리 생성

Rust 코드를 저장할 디렉토리를 먼저 만들 것입니다. Rust 는 코드가 어디에 있는지 상관하지 않지만, 이 책의 연습과 프로젝트를 위해 홈 디렉토리에 project 디렉토리를 만들고 모든 프로젝트를 거기에 보관하는 것을 제안합니다.

터미널을 열고 다음 명령을 입력하여 project 디렉토리와 project 디렉토리 내의 "Hello, world!" 프로젝트용 디렉토리를 만듭니다.

Linux, macOS 및 Windows 의 PowerShell 의 경우 다음을 입력합니다.

cd ~/project
mkdir hello_world
cd hello_world

Rust 프로그램 작성 및 실행

다음으로, 새로운 소스 파일을 만들고 이름을 main.rs로 지정합니다. Rust 파일은 항상 .rs 확장자로 끝납니다. 파일 이름에 두 단어 이상을 사용하는 경우, 관례적으로 밑줄을 사용하여 구분합니다. 예를 들어, helloworld.rs 대신 hello_world.rs를 사용합니다.

이제 방금 만든 main.rs 파일을 열고 Listing 1-1 의 코드를 입력합니다.

파일 이름: main.rs

fn main() {
    println!("Hello, world!");
}

Listing 1-1: Hello, world!를 출력하는 프로그램

파일을 저장하고 ~/project/hello_world 디렉토리의 터미널 창으로 돌아갑니다. Linux 또는 macOS 에서 다음 명령을 입력하여 파일을 컴파일하고 실행합니다.

$ rustc main.rs
$ ./main
Hello, world!

운영 체제에 관계없이 문자열 Hello, world!가 터미널에 출력되어야 합니다. 이 출력이 보이지 않으면, 도움을 얻는 방법에 대한 "문제 해결"을 참조하십시오.

Hello, world!가 출력되었다면 축하합니다! 공식적으로 Rust 프로그램을 작성했습니다. 이제 당신은 Rust 프로그래머입니다---환영합니다!

Rust 프로그램의 해부

이 "Hello, world!" 프로그램을 자세히 살펴보겠습니다. 다음은 첫 번째 부분입니다.

fn main() {

}

이 줄들은 main이라는 함수를 정의합니다. main 함수는 특별합니다: 모든 실행 가능한 Rust 프로그램에서 항상 처음 실행되는 코드입니다. 여기에서 첫 번째 줄은 매개변수가 없고 아무것도 반환하지 않는 main이라는 함수를 선언합니다. 매개변수가 있다면 괄호 () 안에 들어갈 것입니다.

함수 본문은 {}로 묶여 있습니다. Rust 는 모든 함수 본문을 중괄호로 묶어야 합니다. 여는 중괄호를 함수 선언과 같은 줄에 놓고 그 사이에 한 칸의 공백을 추가하는 것이 좋은 스타일입니다.

참고: Rust 프로젝트 전체에서 표준 스타일을 고수하려면 rustfmt라는 자동 포맷터 도구를 사용하여 코드를 특정 스타일로 포맷할 수 있습니다 (부록 D 에서 rustfmt에 대해 자세히 설명합니다). Rust 팀은 이 도구를 표준 Rust 배포판에 rustc와 함께 포함했으므로 이미 컴퓨터에 설치되어 있어야 합니다!

main 함수의 본문에는 다음 코드가 있습니다.

    println!("Hello, world!");

이 줄은 이 작은 프로그램에서 모든 작업을 수행합니다: 화면에 텍스트를 출력합니다. 여기에서 주목해야 할 네 가지 중요한 세부 사항이 있습니다.

첫째, Rust 스타일은 탭이 아닌 네 칸의 공백으로 들여씁니다.

둘째, println!은 Rust 매크로를 호출합니다. 대신 함수를 호출했다면 println ( ! 없이) 으로 입력되었을 것입니다. Rust 매크로에 대해서는 19 장에서 자세히 논의할 것입니다. 지금은 !를 사용하면 일반 함수 대신 매크로를 호출하고 매크로는 항상 함수와 동일한 규칙을 따르지 않는다는 것만 알아두면 됩니다.

셋째, 문자열 "Hello, world!"를 볼 수 있습니다. 이 문자열을 println!에 인수로 전달하면 문자열이 화면에 출력됩니다.

넷째, 줄은 세미콜론 (;) 으로 끝나며, 이는 이 표현식이 끝나고 다음 표현식이 시작될 준비가 되었음을 나타냅니다. 대부분의 Rust 코드 줄은 세미콜론으로 끝납니다.

컴파일과 실행은 별도의 단계입니다

방금 새로 생성된 프로그램을 실행했으므로, 프로세스의 각 단계를 살펴보겠습니다.

Rust 프로그램을 실행하기 전에, rustc 명령을 입력하고 소스 파일의 이름을 전달하여 Rust 컴파일러를 사용하여 컴파일해야 합니다. 다음과 같이 합니다.

rustc main.rs

C 또는 C++ 배경 지식이 있다면, 이것이 gcc 또는 clang과 유사하다는 것을 알 수 있습니다. 성공적으로 컴파일한 후, Rust 는 바이너리 실행 파일을 출력합니다.

Linux, macOS 및 Windows 의 PowerShell 에서 셸에 ls 명령을 입력하여 실행 파일을 볼 수 있습니다.

$ ls
main main.rs

여기에서 다음과 같이 main 파일을 실행합니다.

./main

main.rs가 "Hello, world!" 프로그램이라면, 이 줄은 터미널에 Hello, world!를 출력합니다.

Ruby, Python 또는 JavaScript 와 같은 동적 언어에 더 익숙하다면, 프로그램을 컴파일하고 실행하는 것을 별도의 단계로 사용하는 것에 익숙하지 않을 수 있습니다. Rust 는 사전 컴파일 (ahead-of-time compiled) 언어입니다. 즉, 프로그램을 컴파일하여 실행 파일을 다른 사람에게 제공할 수 있으며, 그들은 Rust 가 설치되어 있지 않아도 실행할 수 있습니다. .rb, .py 또는 .js 파일을 다른 사람에게 제공하는 경우, 해당 파일은 Ruby, Python 또는 JavaScript 구현이 설치되어 있어야 합니다. 그러나 해당 언어에서는 프로그램을 컴파일하고 실행하는 데 하나의 명령만 필요합니다. 언어 설계에는 모든 것이 트레이드 오프입니다.

단순한 프로그램의 경우 rustc로 컴파일하는 것만으로 충분하지만, 프로젝트가 커짐에 따라 모든 옵션을 관리하고 코드를 쉽게 공유할 수 있도록 할 것입니다. 다음으로, 실제 Rust 프로그램을 작성하는 데 도움이 되는 Cargo 도구를 소개합니다.

요약

축하합니다! Hello, World 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.