-
Notifications
You must be signed in to change notification settings - Fork 0
/
1
89 lines (74 loc) · 1.94 KB
/
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
6/26 Rust 첫경험
1. 메인함수
fn main(){
}
2. 출력 명령어
println!();
변수 출력시 {}사용
ex) println!("{}",x); //값 출력
ex) println!("{x}"); //문자로 출력
3. 컴파일
rustc 파일이름.rs
4. cargo(러스트 프로젝트)생성
cargo new 프로젝트이름
5. 러스트 프로젝트 빌드 및 실행
cargo build
cargo run
cargo check
6. 러스트에서의 변수 => default가 불변(immutable)
ex)
let x=3;
x=5; //컴파일 에러
따라서 변수를 변하게 하기 위해서는 mut을 사용
ex) let mut x=3;
x=5; //가능
7. immutable변수 덮어쓰기 개념 (=shadowing)
ex) let x=3;
let x=5; //덮어쓰기, 즉 새로운 변수를 만들어서 덮어쓴거라고 생각하면 됨
let x=x*2; // 이런 형태의 덮어쓰기도 가능
let x="Hello world"; //자료형이 달라도 가능 why? 덮어쓴거기 때문에
8. 중괄호 scope 개념
c에서 함수 내의 지역변수라고 생각하면 될듯
예시코드
fn main() {
let x=5;
{
let x=3;
println!("{}",x);
}
println!("{}",x);
}
출력결과
3
5
9. 상수
상수를 사용할 때는 자료형을 제시해야함
ex) const 상수이름:자료형=값
ex) const THREE_HOURS_IN_SECONDS:u32=60*60*3;
10. data 타입
int형
i8, i16, i32, i64, i128
unsigned int형
u8, u16, u32, u64, u128
char형
char
소수형
f8, f16 ...
참거짓(bool)형
let x:bool=true;
let y:bool=false;
튜플형(서로다른 자료형의 조합)
let x:(i32,f32,char)=(1,1.1,'a');
.연산자(dot 연산자)를 통해서 접근 가능하고 튜플을 정의할 때 자료형을 명시해야함
println!("{}", x.0);
배열(자료형이 모두 같은 조합)
let x=[1,2,3,4,5];
11. 함수
fn 함수이름(함수인자)->반환값의 자료형{
}
ex)
fn sum(x:i32, y:i32, z:i32)->i32{
return x+y+z;
}
12. 조건문
c와 사용법 같음