편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
33번째 줄: | 33번째 줄: | ||
println!("Hello, world!"); | println!("Hello, world!"); | ||
} | } | ||
</ | </source> | ||
=== 코드 해석 === | === 코드 해석 === | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
fn main() | fn main() | ||
</ | </source> | ||
은 main이라는 이름의 함수를 선언한다는 문장이다. fn이 main이라는 것이 함수라는 것을 알려 줍니다. 그 다음의 ()은 main이라는 함수는 매개변수(더 자세한 설명은 다음에...)을 받지 않는 다는 뜻이다. 그 다음 {}(중괄호)사이에 있는 내용이, main함수가 하는 일이 된다. | 은 main이라는 이름의 함수를 선언한다는 문장이다. fn이 main이라는 것이 함수라는 것을 알려 줍니다. 그 다음의 ()은 main이라는 함수는 매개변수(더 자세한 설명은 다음에...)을 받지 않는 다는 뜻이다. 그 다음 {}(중괄호)사이에 있는 내용이, main함수가 하는 일이 된다. | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
println!("hello, world!"); | println!("hello, world!"); | ||
</ | </source> | ||
은 도스창(터미널)에 "hello, world!"라는 텍스트를 출력한다. | 은 도스창(터미널)에 "hello, world!"라는 텍스트를 출력한다. | ||
51번째 줄: | 51번째 줄: | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
let 변수이름:데이터형 = 데이터(값); | let 변수이름:데이터형 = 데이터(값); | ||
</ | </source> | ||
예를 들면 사람의 나이를 저장하는 변수를 만든다고 하면 | 예를 들면 사람의 나이를 저장하는 변수를 만든다고 하면 | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
let age:i32 = 17; | let age:i32 = 17; | ||
</ | </source> | ||
이렇게 하면 됩니다. | 이렇게 하면 됩니다. | ||
이 중 ''':데이터형'''은 데이터(값)의 데이터형이 명확하다면 생략할 수 있다. 따라서 위의 코드는 다음과 같이 줄일 수 있다. | 이 중 ''':데이터형'''은 데이터(값)의 데이터형이 명확하다면 생략할 수 있다. 따라서 위의 코드는 다음과 같이 줄일 수 있다. | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
let age = 17; //또는 let age:_ = 17; | let age = 17; //또는 let age:_ = 17; | ||
</ | </source> | ||
===변수의 특징=== | ===변수의 특징=== | ||
====변수는 그 변수가 만들어진 범위를 벗어나면 사라진다==== | ====변수는 그 변수가 만들어진 범위를 벗어나면 사라진다==== | ||
73번째 줄: | 73번째 줄: | ||
} | } | ||
} | } | ||
</ | </source> | ||
가 있을 때 a는 첫번째 범위의 코드가 실행될 때에만 생존하고 b는 두번째 범위에 있는 코드가 실행될 때에만 생존한다. 이것은 매우 중요한 개념이다. | 가 있을 때 a는 첫번째 범위의 코드가 실행될 때에만 생존하고 b는 두번째 범위에 있는 코드가 실행될 때에만 생존한다. 이것은 매우 중요한 개념이다. | ||
85번째 줄: | 85번째 줄: | ||
println!("{}", a); | println!("{}", a); | ||
} | } | ||
</ | </source> | ||
변수의 데이터(값)을 수정하는 방법은 변수를 mut을 붙이는 방법이다. | 변수의 데이터(값)을 수정하는 방법은 변수를 mut을 붙이는 방법이다. | ||
95번째 줄: | 95번째 줄: | ||
println!("{}", a); | println!("{}", a); | ||
} | } | ||
</ | </source> | ||
다른 방법으로는 변수의 재정의가 있다. 이럴 경우 다른 값을 지니면서도, mut키워드를 사용하지 않을 수 있다. | 다른 방법으로는 변수의 재정의가 있다. 이럴 경우 다른 값을 지니면서도, mut키워드를 사용하지 않을 수 있다. | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
104번째 줄: | 104번째 줄: | ||
println!("{}", a); | println!("{}", a); | ||
} | } | ||
</ | </source> | ||
이 경우 위의 a와 아래의 a는 전혀 다른 변수가 되는데. 이때 아래 코드는 새로운 메모리 공간을 만들고 a라는 이름을 붙임으로서 그 아래부터는 첫번째 a에 접근할 수 없다. | 이 경우 위의 a와 아래의 a는 전혀 다른 변수가 되는데. 이때 아래 코드는 새로운 메모리 공간을 만들고 a라는 이름을 붙임으로서 그 아래부터는 첫번째 a에 접근할 수 없다. | ||
180번째 줄: | 180번째 줄: | ||
} | } | ||
} | } | ||
</ | </source> | ||
이렇게 할 경우, 콘솔에서 입력받은 값이 5가 아닐 경우 if { ... }가 실행되고, 그렇지 않을 경우에는 else{ ...}사이의 문장이 실행된다. | 이렇게 할 경우, 콘솔에서 입력받은 값이 5가 아닐 경우 if { ... }가 실행되고, 그렇지 않을 경우에는 else{ ...}사이의 문장이 실행된다. | ||
===match=== | ===match=== | ||
218번째 줄: | 218번째 줄: | ||
} | } | ||
} | } | ||
</ | </source> | ||
이런 것외에도 다양한 방법으로 사용할 수 있습니다. | 이런 것외에도 다양한 방법으로 사용할 수 있습니다. | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
257번째 줄: | 257번째 줄: | ||
} | } | ||
} | } | ||
</ | </source> | ||
===loop=== | ===loop=== | ||
280번째 줄: | 280번째 줄: | ||
} | } | ||
} | } | ||
</ | </source> | ||
===Result=== | ===Result=== | ||
Result는 기본으로 있는 enum형이다. 이 Result는 어떠한 처리기능이 실행된 뒤, 제대로 되었는지, 안되었는지를 나타내기 위해 사용한다. | Result는 기본으로 있는 enum형이다. 이 Result는 어떠한 처리기능이 실행된 뒤, 제대로 되었는지, 안되었는지를 나타내기 위해 사용한다. | ||
{{각주}} | {{각주}} | ||
[[분류:프로그래밍 시리즈]] | [[분류:프로그래밍 시리즈]] |