Online Rust Compiler

Write, compile, run, and debug Rust code online in a full-featured browser IDE. Work with multiple files, save your workspace, and share or collaborate in real time.

사전 설치 라이브러리
🚀 252,702 총 실행 (135 이번 달)
퍼가기
출력

Rust 코딩 챌린지로 연습하기

이 에디터에서 직접 문제를 풀고, 샘플 테스트 실행 및 제출, AI 코드 리뷰를 받아보세요.

모든 Rust 챌린지
쉬움

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

배우는 내용 산술반환값
BeginnerLearning-pathVariables
쉬움

Distance Between Points

Compute the straight-line distance between two points.

배우는 내용 피타고라스 정리제곱근
BeginnerFunctionsLearning-pathmath
쉬움

Days in a Month

Return how many days a month has, including leap years.

배우는 내용 달력 규칙도우미 함수
BeginnerConditionsFunctionsLearning-path
쉬움

세 수의 평균

세 개의 정수를 평균하세요.

배우는 내용 산술나눗셈
BeginnerLearning-pathVariables
쉬움

두 벡터의 내적

두 벡터를 원소별로 곱한 뒤 모두 더합니다. 모든 뉴런의 핵심 연산입니다.

배우는 내용 벡터내적
신경망ai머신 러닝
쉬움

소수 판별

숫자가 소수인지 판별하세요.

배우는 내용 나누어떨어짐 판별반복문 최적화
BeginnerLoopsNumbersStudent-beginner
쉬움

Number Triangle

Build a triangle of increasing numbers.

배우는 내용 길어지는 행행을 넘나드는 카운터
BeginnerLearning-pathNested-loopsPatterns
쉬움

암스트롱 수

숫자가 각 자릿수를 자릿수 개수만큼 거듭제곱한 합과 같은지 확인하세요.

배우는 내용 자릿수 추출거듭제곱
BeginnerNumbersStudent-beginner
쉬움

Row Sums

Add up every row of a grid.

배우는 내용 2차원 리스트중첩 반복문
BeginnerGridsLearning-path
쉬움

Min and Max Together

Find the smallest and largest value in one pass.

배우는 내용 한 번의 순회여러 반환값
ArraysBeginnerFunctionsLearning-path
쉬움

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

배우는 내용 인덱스 쌍중복 세기 피하기
ArraysBeginnerLearning-pathNested-loops
쉬움

Hollow Square

Draw the outline of a square with * characters.

배우는 내용 테두리 판별문자열 만들기
BeginnerLearning-pathNested-loopsPatterns

🦀 이 Rust 온라인 실행기 소개

CodeUtility Rust Executor는 브라우저에서 바로 Rust 코드를 작성하고 실행할 수 있게 해줍니다 - 설치, 툴체인 설정, 로컬 환경이 전혀 필요 없습니다. 보안 샌드박스에서 동작하며, 실제 Rust 컴파일러 버전 1.70, 1.72, 1.73, 그리고 1.74를 지원합니다.

이 도구는 실제 rustc 컴파일러로 클라우드에서 Rust 프로그램을 컴파일하고 실행하여 정확하고 일관된 결과를 보장합니다. 변수, 소유권, 빌림, 패턴 매칭, 트레이트, 제네릭 등 최신 Rust 기능을 손쉽게 실험할 수 있습니다.

Cargo를 설치하거나 로컬 환경을 구성할 필요 없이 Rust의 핵심 개념 - 특히 메모리 안전성, 오류 처리, 동시성 - 을 학습하기에 이상적입니다. 모든 것이 몇 초 안에 브라우저에서 바로 실행됩니다.

단순한 코드 실행기 그 이상

하나의 실행기에서 다중 파일 편집기, 격리된 실행 터미널, 런타임별 라이브러리, 영구 작업 공간, 공유 및 실시간 협업을 이용하세요.

이 실행기는 어떻게 사용하나요?

런타임을 선택하고 파일을 열거나 만든 다음 코드를 작성하고 실행을 선택하세요. 출력은 터미널에 표시되며, 로그인한 사용자는 작업 공간에 파일을 보관하고 라이브러리를 설치하며 공유를 통해 협업할 수 있습니다.

  1. 버전을 선택하고 현재 파일을 편집하거나 작업 공간의 다른 파일을 여세요.
  2. 코드를 실행하고 요청 시 터미널에 입력한 다음 저장된 실행 기록을 확인하세요.
  3. 작업에 둘 이상의 코드 조각이 필요하면 라이브러리, 작업 공간 도구, 공유 및 채팅을 사용하세요.

💡 위에서 바로 시도해볼 수 있는 Rust 기본 & 예제

1. 변수와 상수 선언

let으로 변수를 선언합니다. 상수에는 const, 가변 변수에는 mut를 사용합니다.

let x = 10;
let pi: f64 = 3.14;
let name = "Alice";
let is_active = true;

const MAX_USERS: u32 = 100;

2. 조건문 (if / match)

조건에는 if, 패턴 매칭에는 match를 사용합니다.

let x = 2;
if x == 1 {
    println!("하나");
} else if x == 2 {
    println!("둘");
} else {
    println!("기타");
}

match x {
    1 => println!("하나"),
    2 => println!("둘"),
    _ => println!("기타"),
}

3. 반복문

Rust는 for, while, 그리고 무한 루프인 loop를 지원합니다.

for i in 0..3 {
    println!("{}", i);
}

let mut n = 3;
while n > 0 {
    println!("{}", n);
    n -= 1;
}

4. 배열

Rust의 고정 크기 배열은 대괄호를 사용합니다. 뷰에는 슬라이스를 사용하세요.

let nums = [10, 20, 30];
println!("{}", nums[1]);

5. 벡터(동적 배열)

동적 배열에는 Vec를 사용합니다.

let mut fruits = vec!["apple", "banana"];
fruits.push("cherry");
fruits.pop();

for fruit in &fruits {
    println!("{}", fruit);
}

6. 콘솔 입출력

출력에는 println!, 입력에는 std::io를 사용합니다.

use std::io;

let mut name = String::new();
println!("이름을 입력하세요:");
io::stdin().read_line(&mut name).unwrap();
println!("안녕하세요, {}", name.trim());

7. 함수

함수는 fn을 사용하며 ->로 값을 반환할 수 있습니다.

fn greet(name: &str) -> String {
    format!("안녕하세요, {}", name)
}

println!("{}", greet("Alice"));

8. HashMap

키-값 데이터에는 std::collections::HashMap을 사용합니다.

use std::collections::HashMap;

let mut person = HashMap::new();
person.insert("name", "Bob");
println!("{}", person["name"])

9. 오류 처리

Rust는 Result와 match 또는 unwrap()으로 오류를 처리합니다.

fn fail() -> Result<(), String> {
    Err("문제가 발생했습니다".to_string())
}

match fail() {
    Ok(_) => println!("성공"),
    Err(e) => println!("{}", e),
}

10. 파일 I/O

파일 읽기/쓰기는 std::fs를 사용합니다.

use std::fs;

fs::write("file.txt", "Hello File").unwrap();
let content = fs::read_to_string("file.txt").unwrap();
println!("{}", content);

11. 문자열 조작

Rust의 문자열은 힙에 할당되며 다양한 메서드를 지원합니다.

let mut text = String::from(" Hello Rust ");
println!("{}", text.trim());
println!("{}", text.to_uppercase());
text = text.replace("Hello", "Hi");
println!("{}", text);

12. 구조체 & 메서드

Rust는 데이터 타입에는 struct를, 메서드에는 impl을 사용합니다.

struct Person {
    name: String,
}

impl Person {
    fn greet(&self) -> String {
        format!("안녕하세요, 저는 {}입니다", self.name)
    }
}

let p = Person { name: "Alice".to_string() };
println!("{}", p.greet());

13. 참조 & 빌림

Rust에서는 값을 빌릴 때 &, 가변 참조에는 &mut를 사용합니다.

fn update(x: &mut i32) {
    *x += 1;
}

let mut value = 10;
update(&mut value);
println!("{}", value);