fn main() {
let s = String::from("Hello World");
let word_index = find_str_index(&s);
let word = find_str(&s);
// let hello = &s[0..5];
// let world = &s[6..];
// let hello_world = &s[..];
println!("{},{}", word_index,word);
// 进一步修改
let my_string = String::from("Hello World");
let my_index = find_world(&my_string[..]);
let my_string_literal = "Hello World";
let word_index = find_world(&my_string_literal);
println!("{},{}",my_index,word_index);
}
// 声明 找到字符串中空格的方法
fn find_str_index(s: &String)-> usize {
let bytes = s.as_bytes();
for (i,&item) in bytes.iter().enumerate(){
if item == b' ' {
return i;
}
}
s.len()
}
fn find_str(s: &String)-> &str {
let bytes = s.as_bytes();
for (i,&item) in bytes.iter().enumerate(){
if item == b' ' {
return &s[..i];
}
}
&s[..]
}
fn find_world(s:&str) -> &str {
let bytes = s.as_bytes();
for (i,&item) in bytes.iter().enumerate(){
if item == b' ' {
return &s[..i];
}
}
&s[..]
}
02-12
922
03-15
299