【Rust】文字列

Rustの基本的な文字列型は&strを使用する。

fn main(){
    let mut name: &str = "Yamada";

    println!("{}", name);

    name = "Tanaka";

    println!("{}", name);
}

ライブラリとして提供されている文字列にStringがある。

fn main(){
    let mut name = String::from("Yamada");

    name = "Tanaka".to_string();
    name.push_str(" Taro");
    println!("{}", name);
}

C++のchar型は1文字のみ

#include <stdio.h>

int main(void)
{
    char a = 'D';
    char b = 'N';
    char c = 'A';

    printf("%c%c%c\n", a, b, c);
    return 0;

}

複数文字は配列

#include <stdio.h>

int main(void)
{
    char str1[] = "DNA";

    printf("%s\n", str1);
    printf("%lu\n", sizeof(str1));

    return 0;

}

char型のポインタ

int main(void)
{
    const char* char_ptr = "DNA";

    printf("%s\n", char_ptr);

    return 0;

}

string型

#include <stdio.h>
#include <string>
#include <iostream>

int main(void)
{
    std::string str1 = "DNA";
    std::string str2 = "RNA";
    std::string str3 = str1 + str2;

    std::cout << str3 << std::endl;

    return 0;

}
fn main(){
    let s1 = String::from("ABC");
    let s2 = String::from("ABC");
    let s3 = String::from("XY");

    if(s1 == s2){
        println!("ABC == ABC");
    }
    if(s1 < s3) {
        println!("ABC < XY");
    }
}

String::fromが便利すぎる。。