カプセル化についてはこんな感じです。

mod hello {
type NameString = String;

pub struct User {
pub name: NameString,
age: usize,
}

pub fn the_user() -> User {
User { name: String::from("Alex"), age: 10 }
}

pub fn get_age(user: &User) -> usize {
user.age
}
}

fn main() {
use hello;

let user = hello::the_user();
let age = hello::get_age(&user);
println!("name: {}", &user.name);
println!("age: {:?}", age);
println!("age: {:?}", &user.age); // private field!
}