+ C 프로그램을 만드는 과정 + 전처리 + 자료형 + 함수 + 전처리기 지시자 + 제네릭 매크로 + 빌드 시스템 (예정) + 포인터 (예정) + 구조체 (예정) 추후 업데이트됩니다.
#programminglanguage
24개 글
+ 객체지향 프로그래밍 + 제네릭 프로그래밍 + 절차적 프로그래밍 (예정) + 함수형 프로그래밍 (예정)
C++에는 함수 오버로딩과 템플릿이 있고, 러스트에는 제네릭과 트레이트가 있다.
러스트에서 반복자는 Iterator 트레이트를 구현한 타입이다.
+ C + Rust + JavaScript(예정) + Python(예정) + C++ (예정) + Java (예정) + Swift (예정) 추후 업데이트됩니다.
+ 사전 준비 + 패키지, 크레이트, 모듈, 작업공간 + 함수 + 자료형 + 구조체 + 열거형 + 프로그램의 흐름을 통제하기 + 오류를 처리하는 방법 + 소유권 + 트레이트 + 테스트 + 제네릭 + 클로저 + 반복자 추후 업데이트됩니다.
모든 프로그램은 작동하는 동안 운영체제로부터 메모리를 빌려오는데, 이 영역을 힙heap 영역이라 부른다.
위에 주어진 예시 코드에서 unwraporelse 메서드 안에 클로저 표현식이 사용되었는데, 이 메서드를 호출한 인스턴스가 의도된 타입이 아닐 때 인자로 주어진 클로저를 실행하게 된다.
프로그램을 작성하다 보면 같은 작업을 여러 곳에서 반복해야 하는 상황이 생긴다.
아래 두 함수는 슬라이스에서 최댓값을 찾는 동일한 로직이다.
테스트란, 테스트할 코드가 의도대로 기능하는지 검증하는 함수다.
트레이트는 타입이 구현해야 할 메서드 시그니처의 집합이다.
우리는 프로그램을 통해 컴퓨터와 소통한다.
구조체를 정의하기 위한 키워드는 struct이며, 다음으로 구조체의 이름을 정하고 중괄호{} 안에 구조체의 구성 요소인 필드field의 이름과 타입을 정의하면 된다.
rustup은 러스트 버전 및 러스트 관련 도구를 관리하는 프로그램이다.
열거형은 여러 타입을 하나로 묶는다는 점에서는 구조체struct와 비슷하지만, 열거형이 여러 타입을 묶는 방법은 구조체의 그것과 다릅니다.
러스트로 만든 프로그램에서 발생할 수 있는 모든 오류를 분류하는 첫번째 기준은 복구다.
컴퓨터가 저장하는 모든 것은 기본적으로 0과 1로 된 이진수다.
일반적인 컴퓨터 언어가 그렇듯, 러스트의 모든 값은 특정한 타입type을 가진다.
[^preprocessor-general]: 전처리기preprocessor 라는 개념은 비단 C가 아니더라도 컴퓨터공학 전반에서 사용되는 개념이다.
C의 지시자는 모두 #으로 시작한다.
크레이트는 러스트의 프로그램이 될 수 있는 가장 단순한 단위다.
조건에 따라 다른 코드를 실행해야 할 때 if문을 통해 조건에 따른 코드의 분기branch를 간단하게 구현할 수 있다.
러스트에서는 fn 뒤에 함수 이름과 괄호를 붙여서 함수를 정의하고, 중괄호{}를 통해 함수 본문의 시작과 끝을 정한다.