728x90 클론코딩94 [Rust lang] 10. mut와 shadow(쉐도우) fn double(input: i32) -> i32 { input * 2 } fn triple(input: i32) -> i32 { input * 3 } fn main() { /*: 아래 코드는 오류, 수정 불가능 let num = 10; num = 9; */ let mut num = 10; num = 9; let num = 10; let num = "My variable"; println!("{}", num); let x = 0; let x = double(x); let x = triple(x); println!("{}", x); let variable = 9; println!("{}", variable); { //: Code Block let variable = "Some string"; printl.. Rust 2023. 3. 27. [Rust lang] 09. 함수 코드블럭 /* fn print_number(one: i32, two: i32) { let multipleied = one * two; println!("{}", multipleied); one * two } fn main() { print_number(9, 8); } */ fn give_number(one: i16, two: i16) -> i16 { let multipleied_by_ten = { let first_number = 10; first_number * one * two }; multipleied_by_ten } fn main() { let num = give_number(9, 8); { //: Code Block let num = give_number(5, 3); println!("{}", num);.. Rust 2023. 3. 27. [Rust lang] 08. 함수의 리턴되는 유닛 타입 /* fn number() -> () { 8; } */ fn number() -> i32 { 8 } fn main() { let number = number(); // :? Debug print println!("{:?}", number); } Rust 2023. 3. 27. [Rust lang] 07. 함수(fn) fn give_age() -> i32 { /* return */ 30 //리턴을 쓸 필요가 없다. 마지막 줄 자동리턴 } fn main() { let my_name = "David"; let my_age = 30; println!("My name is {} and my age is {}", my_name, my_age); println!("My name is {} and my age is {}", my_name, give_age()); let city = "Seoul"; let year = 2022; let population = 9_123_123; println!("The city of {} in {} had a population of {}", city, year, population); printl.. Rust 2023. 3. 27. [Rust lang] 06. float(4바이트 실수) fn main() { let my_number = 9_u8; let other_number = 10_000_000_000u64; // _의 경우 무시한다. let my_number = 9.; //f64 let other_number = 9; //i32 //f32 / f64 // 8 bytes println!("{}", my_number as i32 + other_number); println!("{}", my_number+ other_number as f64); } Rust 2023. 3. 27. [Rust lang] 05. 사이즈 use std::mem::size_of; fn main() { println!("Size of a char: {}", std::mem::size_of::()); // string 내부에 {} 기입한 경우, 뒤 매개변수에 값을 넣지 않으면 오류 호출 println!("Size of a char: {}", size_of::()); println!("Size of string containing 'a': {}", "a".len()); // 글자수가 아닌 바이트수 println!("Size of string containing '&': {}", "&".len()); println!("Size of string containing '國': {}", "國".len()); // 한자는 바이트 3바이트, 이집트어의 경.. Rust 2023. 3. 27. [Rust lang] 04. 타입 변환(casting) fn main() { println!("Hello, world!"); // casting = simple type change let my_number: u16 = 8; let second_number: u8 = 10; let third_number = my_number + second_number as u16; // 기존 second_number의 u8 타입이 u16으로 변환됨. second_number as u16 let other_number = 'a' as u8; //ASCII 문자가 아닌 경우 오류 println!("Hello, world! My number is {}", other_number); } Rust 2023. 3. 27. [Rust lang] 03. char(8비트 정수 처리 변수) fn main() { println!("Hello, world!"); let first_letter = 'A'; let space = ' '; // A space inside ' ' is also a char let other_language_char = 'q'; let cat_face = '👍'; } Rust 2023. 3. 27. [Rust lang] 02. 정수 fn main() { /* + plus sign - minus sign i8, i16, i32, i64, i128, and isize. u8, u16, u32, u64, u128, and usize. computer architecture => 32비트 => i32 => 64비트 => i64 */ let my_number: u8 = 100; // 255 let my_other_number: u16 = 60; // i32 let third_number = my_number + my_other_number; //: 타입이 다른 경우에는 오류 => ex) u8 + i32 (X) // type interface } Rust 2023. 3. 27. [Rust lang] 01. 주석 /// 문서화 주석 struct Book; fn main() { /* */ // 기본 주석 println!("Hello, world!"); // _로 시작하게 되면 변수에러 무시 let x_/*: i16*/ = 10; } Rust 2023. 3. 27. 이전 1 ··· 5 6 7 8 다음 728x90