[Rust] 14. String (문자열)
프로그래밍 언어/Rust2023. 2. 18. 00:05
String (문자열)
러스트의 표준 라이브러리로 제공되는 String은 동적으로 생성되어 문자열이 가변적이며, UTF-8 인코딩 타입, 소유권을 가진다.
스트링 생성
// 1. 동적 가변 빈 스트링 생성
let mut s = String::new();
// 2. 기본텍스트를 가지는 동적 스트링 생성
let s = String::from("안녕하세요");
// 3. 2번과 같다
let data = "안녕하세요";
let s = data.to_string();
... 또는 아래와 같이 한번에 사용
let s = "안녕하세요".to_string();
// String::from과 .to_string은 똑같습니다.
스트링 갱신 (데이터 추가하기) push_str 또는 push
push_str은 여러 글자를 추가할때 사용하며, push는 단문자를 추가할때 사용합니다.
fn main()
{
// 가변 스트링 생성
let mut s = String::from("안녕하세요");
// 문자열 추가하기
s.push_str(", 러스트");
// 문자 추가하기
s.push('!');
println!("{}", s);
}
// 출력 결과
안녕하세요, 러스트!
'+' 연산자를 사용한 문자열 합치기
fn main()
{
let s1 = String::from("Hello");
let s2 = String::from(", Rust");
let s3 = String::from("!");
// + 연산자를 활용한 문자열 접합(합치기)
let s = s1 + &s2 + &s3;
println!("{}", s);
}
// 출력 결과
Hello, Rust!
format!() 함수를 활용한 문자열 합치기(포맷팅)
format!() 함수를 활용하여 println! 와 같은 기능으로 변수에 담을 수 있습니다. 아래 예제로 확인하세요
fn main()
{
let s1 = String::from("Hello");
let s2 = String::from(", Rust");
let s3 = String::from("!");
// format! 함수를 활용한 문자열 포맷팅
let s = format!("{}{}{}", s1, s2, s3);
// .len() 함수로 문자열 길이를 얻을 수 있습니다.
println!("{}, {}", s, s.len());
}
// 출력 결과
Hello, Rust!, 12
문자열 개별 접근 .chars() , .bytes()
.chars() 의 경우 개별적인 문자를 하나씩 접근 가능하다, bytes 의 경우 문자의 유니코드 스칼라 값을 byte로 얻습니다.
fn main()
{
let s = "Hello";
// 한글자씩 출력
for c in s.chars()
{
println!("{}", c);
}
// byte로 출력
for b in s.bytes()
{
println!("{}", b);
}
}
// 출력 결과
H
e
l
l
o
72
101
108
108
111
'프로그래밍 언어 > Rust' 카테고리의 다른 글
[Rust] 16. Visual Studio Code + Rust 개발 환경 구축 (0) | 2023.02.22 |
---|---|
[Rust] 15. Hashmap (해쉬맵) (0) | 2023.02.19 |
[Rust] 13. 벡터(Vector) 컬렉션 (컨테이너) (0) | 2023.02.17 |
[Rust] 12. 모듈화 (mod) (0) | 2023.02.15 |
[Rust] 11. 열거형(enum) (0) | 2023.02.14 |