시리즈:쉽게 배우는 프로그래밍 입문/Rust 편집하기

편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
33번째 줄: 33번째 줄:
     println!("Hello, world!");
     println!("Hello, world!");
}
}
</syntaxhighlight>
</source>


=== 코드 해석 ===
=== 코드 해석 ===
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
fn main()
fn main()
</syntaxhighlight>
</source>
은 main이라는 이름의 함수를 선언한다는 문장이다. fn이 main이라는 것이 함수라는 것을 알려 줍니다. 그 다음의 ()은 main이라는 함수는 매개변수(더 자세한 설명은 다음에...)을 받지 않는 다는 뜻이다. 그 다음 {}(중괄호)사이에 있는 내용이, main함수가 하는 일이 된다.
은 main이라는 이름의 함수를 선언한다는 문장이다. fn이 main이라는 것이 함수라는 것을 알려 줍니다. 그 다음의 ()은 main이라는 함수는 매개변수(더 자세한 설명은 다음에...)을 받지 않는 다는 뜻이다. 그 다음 {}(중괄호)사이에 있는 내용이, main함수가 하는 일이 된다.


<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
println!("hello, world!");
println!("hello, world!");
</syntaxhighlight>
</source>
은 도스창(터미널)에 "hello, world!"라는 텍스트를 출력한다.
은 도스창(터미널)에 "hello, world!"라는 텍스트를 출력한다.


51번째 줄: 51번째 줄:
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
let 변수이름:데이터형 = 데이터(값);
let 변수이름:데이터형 = 데이터(값);
</syntaxhighlight>
</source>
예를 들면 사람의 나이를 저장하는 변수를 만든다고 하면
예를 들면 사람의 나이를 저장하는 변수를 만든다고 하면
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
let age:i32 = 17;
let age:i32 = 17;
</syntaxhighlight>
</source>
이렇게 하면 됩니다.
이렇게 하면 됩니다.
이 중 ''':데이터형'''은 데이터(값)의 데이터형이 명확하다면 생략할 수 있다. 따라서 위의 코드는 다음과 같이 줄일 수 있다.
이 중 ''':데이터형'''은 데이터(값)의 데이터형이 명확하다면 생략할 수 있다. 따라서 위의 코드는 다음과 같이 줄일 수 있다.
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
let age = 17; //또는 let age:_ = 17;  
let age = 17; //또는 let age:_ = 17;  
</syntaxhighlight>
</source>
===변수의 특징===
===변수의 특징===
====변수는 그 변수가 만들어진 범위를 벗어나면 사라진다====
====변수는 그 변수가 만들어진 범위를 벗어나면 사라진다====
73번째 줄: 73번째 줄:
   }
   }
}
}
</syntaxhighlight>
</source>
가 있을 때 a는 첫번째 범위의 코드가 실행될 때에만 생존하고 b는 두번째 범위에 있는 코드가 실행될 때에만 생존한다. 이것은 매우 중요한 개념이다.
가 있을 때 a는 첫번째 범위의 코드가 실행될 때에만 생존하고 b는 두번째 범위에 있는 코드가 실행될 때에만 생존한다. 이것은 매우 중요한 개념이다.


85번째 줄: 85번째 줄:
     println!("{}", a);
     println!("{}", a);
}
}
</syntaxhighlight>
</source>


변수의 데이터(값)을 수정하는 방법은 변수를 mut을 붙이는 방법이다.
변수의 데이터(값)을 수정하는 방법은 변수를 mut을 붙이는 방법이다.
95번째 줄: 95번째 줄:
     println!("{}", a);
     println!("{}", a);
}
}
</syntaxhighlight>
</source>
다른 방법으로는 변수의 재정의가 있다. 이럴 경우 다른 값을 지니면서도, mut키워드를 사용하지 않을 수 있다.
다른 방법으로는 변수의 재정의가 있다. 이럴 경우 다른 값을 지니면서도, mut키워드를 사용하지 않을 수 있다.
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
104번째 줄: 104번째 줄:
     println!("{}", a);
     println!("{}", a);
}
}
</syntaxhighlight>
</source>
이 경우 위의 a와 아래의 a는 전혀 다른 변수가 되는데. 이때 아래 코드는 새로운 메모리 공간을 만들고 a라는 이름을 붙임으로서 그 아래부터는 첫번째 a에 접근할 수 없다.
이 경우 위의 a와 아래의 a는 전혀 다른 변수가 되는데. 이때 아래 코드는 새로운 메모리 공간을 만들고 a라는 이름을 붙임으로서 그 아래부터는 첫번째 a에 접근할 수 없다.


180번째 줄: 180번째 줄:
     }
     }
}
}
</syntaxhighlight>
</source>
이렇게 할 경우, 콘솔에서 입력받은 값이 5가 아닐 경우 if { ... }가 실행되고, 그렇지 않을 경우에는 else{ ...}사이의 문장이 실행된다.
이렇게 할 경우, 콘솔에서 입력받은 값이 5가 아닐 경우 if { ... }가 실행되고, 그렇지 않을 경우에는 else{ ...}사이의 문장이 실행된다.
===match===
===match===
218번째 줄: 218번째 줄:
     }
     }
}
}
</syntaxhighlight>
</source>
이런 것외에도 다양한 방법으로 사용할 수 있습니다.
이런 것외에도 다양한 방법으로 사용할 수 있습니다.
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust">
257번째 줄: 257번째 줄:
     }
     }
}
}
</syntaxhighlight>
</source>


===loop===
===loop===
280번째 줄: 280번째 줄:
   }
   }
}
}
</syntaxhighlight>
</source>
===Result===
===Result===
Result는 기본으로 있는 enum형이다. 이 Result는 어떠한 처리기능이 실행된 뒤, 제대로 되었는지, 안되었는지를 나타내기 위해 사용한다.
Result는 기본으로 있는 enum형이다. 이 Result는 어떠한 처리기능이 실행된 뒤, 제대로 되었는지, 안되었는지를 나타내기 위해 사용한다.
{{각주}}
{{각주}}
[[분류:프로그래밍 시리즈]]
[[분류:프로그래밍 시리즈]]
리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다.
취소 편집 도움말 (새 창에서 열림)

| () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |}