use std::collections::HashMap;
#[derive(Debug, Clone)]
struct Developer {
name: String,
role: String,
location: String,
skills: Vec<String>,
interests: Vec<String>,
}
impl Developer {
fn new() -> Self {
Self {
name: "Wahyu Ridho Anggoro".to_string(),
role: "Backend Developer".to_string(),
location: "Depok, Indonesia".to_string(),
skills: vec![
"JavaScript/TypeScript".to_string(),
"Python".to_string(),
"Java".to_string(),
"Dart".to_string(),
"C/C++".to_string(),
"PostgreSQL".to_string(),
"MongoDB".to_string(),
"MySQL".to_string(),
"Django".to_string(),
"Spring Boot".to_string(),
"Flutter".to_string(),
"React.js".to_string(),
"Next.js".to_string(),
"Vue.js".to_string(),
"Tailwind CSS".to_string(),
"Move".to_string(),
"Motoko".to_string(),
"Docker".to_string(),
"Git".to_string(),
],
interests: vec![
"Distributed Systems".to_string(),
"API Design".to_string(),
"Microservices".to_string(),
"Blockchain".to_string(),
"Computer Vision".to_string(),
"Embedded Systems".to_string(),
"Cybersecurity".to_string(),
],
}
}
fn contact(&self, contact_type: ContactType) -> &str {
match contact_type {
ContactType::Github => "https://github.com/angganion",
ContactType::LinkedIn => "https://www.linkedin.com/in/wahyu-ridho-anggoro-46b55021a",
ContactType::Email => "wahyu.ridho@ui.ac.id",
}
}
}
#[derive(Debug)]
enum ContactType {
Github,
LinkedIn,
Email,
}
fn main() {
let developer = Developer::new();
println!("Hello, I'm {}!", developer.name);
println!("Role: {}", developer.role);
println!("Location: {}", developer.location);
}