trait_object.rs

Rustマスター

Explorer

C40
C++40
C#40
Dart40
Go40
Java40
JavaScript40
Kotlin40
Objective-C40
Perl40
PHP40
Python40
R40
Ruby40
Rust
初級10
中級10
上級10
エキスパート5
マスター5
async_channel.rs
lifetime_bounds.rs
trait_object.rs
macro_recursive.rs
unsafe_transmute.rs
Shell40
Swift40
TypeScript40
trait_object.rs
Click to focus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
trait Handler: Send + Sync {
   fn handle(&self, req: Request) -> BoxFuture<'_, Response>;
}
struct Router {
   handlers: Arc<RwLock<HashMap<String, Box<dyn Handler>>>>,
}
impl Router {
   async fn route(&self, path: &str, req: Request) -> Response {
       let handlers = self.handlers.read().await;
       handlers.get(path)
           .map(|h| h.handle(req))
           .unwrap_or_else(|| Box::pin(async { Response::NotFound }))
           .await
   }
}
0WPM0%0:000/456(0%)|Ln 1, Col 1
UTF-8Rust

関連する練習問題