콕 집어서 말할 순 없지만, 러스트 프로그래밍 언어는 역량 강화 (empowerment)에 근간을 두고 있습니다. 여러분이 지금 어떤 종류의 코드를 작성하고 있건 간에, 러스트는 여러분에게 더 멀리 나아가고, 더 다양한 분야에서 더 자신감 있게 프로그래밍할 역량을 줍니
각 운영체제 (Linux, macOS, Windows) 별 러스트 설치법Hello, world! 프로그램 작성하기러스트 패키지 매니저 및 빌드 도구인 cargo 사용법rustup:러스트 버전 및 러스트 관련 도구를 관리하는 커맨드 라인 도구러스트 컴파일러 최신 stab
0. 들어가기 전에 키워드 러스트 언어는 대부분의 다른 언어들과 마찬가지로, 이 언어만 사용 가능한 키워드라는 집합이 있습니다. 키워드는 함수명이나 변수명으로 사용할 수 없음을 알아두세요. 대부분의 키워드들은 특별한 의미가 있으며, 러스트 프로그램의 다양한 일들을 처리
0. 들어가기 전에 1. 새로운 프로젝트를 준비하기 2. 추릿값을 처리하기 3. 변수에 값 저장하기 4. Result 타입으로 잠재적 실패 다루기 5. println! 자리표시자를 이용한 값 출력하기 6. 첫 번째 부분 테스트하기 7. 비밀번호를 생성하기 8. 크레이트
Crate: Rust 코드의 모듈이 모여 있는 컴파일 단위.Binary Crate: 실행 가능한 프로그램을 생성하는 크레이트.Library Crate: 재사용 가능한 코드를 제공하는 크레이트.이렇게 Rust는 크레이트 시스템을 통해 코드의 재사용성과 모듈성을 증대시키며
소유권은 러스트가 가비지 컬렉터 없이 메모리 안정성을 보장하도록 해줌소유권: 러스트 프로그램의 메모리 관리법을 지배하는 규칙 모음몇몇 언어는 가비지 컬렉션으로 프로그램에서 더 이상 사용하지 않는 메모리를 정기적으로 찾는 방식을 채택했고, 다른 언어는 프로그래머가 직접
구조체 (struct) 는 여러 값을 묶고 이름을 지어서 의미 있는 묶음을 정의구조체 (struct): 객체의 데이터 속성 (attribute) 과 비슷한 것구조체의 데이터와 연관된 동작을 표현하는 메서드와 연관 함수 (associated functions) 정의 방법
1. 열거형 정의하기 2. match 제어 흐름 구조 3. if let을 사용한 간결한 제어 흐름
1. 패키지와 크레이트 2. 모듈을 정의하여 스코프 및 공개 여부 제어하기 3. 경로를 사용하여 모듈 트리의 아이템 참조하기 4. use 키워드로 경로를 스코프 안으로 가져오기 5. 별개의 파일로 모듈 분리하기
러스트에서는 코드가 컴파일 되기 전에, 에러의 가능성을 인지하고 조치를 취해야 합니다. 러스트는 에러를 2가지 범주로 묶음복구 가능한 (recoverable) 에러예: 파일을 찾을 수 없음 대부분의 경우 그저 사용자에게 문제를 보고하고 명령을 재시도하도록 하길 원함 R
1. 백터에 여러 값의 목록 저장하기 1.1. 새 벡터 만들기 1.2. 벡터 업데이트 하기 1.3. 벡터 요소 읽기 1.4. 벡터 값에 대해 반복하기 1.5. 열거형을 이용해 여러 타입 저장하기 1.6. 벡터가 버려지면 벡터의 요소도 버려집니다. 2. 문자열에 UTF
제네릭은 구체 (concrete) 타입 혹은 기타 속성에 대한 추상화된 대역컴파일과 실행 시점에 제네릭들이 실제로 무슨 타입으로 채워지는지 알 필요 없이 제네릭의 동작이나 다른 제네릭과의 관계를 표현할 수 있습니다.Option<T>, Vec<T>, HashM
러스트는 언어 자체적으로 자동화된 소프트웨어 테스트 작성을 지원러스트에서 테스트란 test 속성(attribute)이 어노테이션된 함수 속성(attribute): 러스트 코드 조각에 대한 메타데이터앞서 5장에서 구조체에 사용했던 - 함수의 fn 이전 줄에 - 테스트는
고전적인 커맨드 라인 검색 도구인 grep(globally search a regular expression and print)의 직접 구현한 버전을 만들어 보려고 합니다. 가장 단순한 사용례에서 grep은 어떤 특정한 파일에서 특정한 문자열을 검색합니다. 이를 위해
함수형 스타일의 프로그래밍은 대개 아래의 것들을 포함 (아래의 것들을 closure라고 한다.)함수를 값처럼 인수로 넘기는 것, 다른 함수들에서 결괏값으로 함수들을 반환하는 것, 나중에 실행하기 위해 함수를 변수에 할당하는 것손님이 원하는 셔츠 색이 있으면 그 셔츠를
Rust에서 값의 소유권은 단 하나의 변수만 가질 수 있습니다. 소유권을 가지는 변수는 메모리에서 해당 값을 관리하며, 소유권이 이동하면 원래 소유자는 더 이상 그 값을 사용할 수 없습니다.위 코드에서 s1은 String의 소유권을 가집니다. let s2 = s1; 문