从函数中获取所有参数
Get all arguments from function
我目前正在开发网络服务器应用程序:
mod rustex;
use rustex::Response;
fn main() {
let bind_address = "127.0.0.1:8080";
let mut app = rustex::App::new(bind_address);
app.get("/hello", || -> Response {
Response {
data: String::from("hello"),
status: 200,
}
});
app.run_server();
}
我的 .get()
方法如下所示:
pub fn get(&mut self, path: &str, handler: fn() -> Response) {
self.routes.insert(
path.to_owned(),
RouteOption {
handler,
method: String::from("GET"),
},
);
}
我想知道我是否可以在内部传递多个函数.get()
并获得它的列表。
我 javascript 你会做这样的事情:
function get(path, ...handlers) {
//handlers is an array with your arguments
}
这是可能的还是我需要传递一个数组作为第二个参数?
我想要的是传递尽可能多的处理程序,例如:
app.get("/hello", handler1, handler2, ....);
rust 中不允许使用可变参数(根据 rust 1.63
):考虑改为共享切片:
pub fn get(&mut self, path: &str, handlers: &[fn() -> Response]) {
for handler in handlers.into_iter() {
self.routes.insert(
path.to_owned(),
RouteOption {
handler,
method: String::from("GET"),
},
);
}
}
我目前正在开发网络服务器应用程序:
mod rustex;
use rustex::Response;
fn main() {
let bind_address = "127.0.0.1:8080";
let mut app = rustex::App::new(bind_address);
app.get("/hello", || -> Response {
Response {
data: String::from("hello"),
status: 200,
}
});
app.run_server();
}
我的 .get()
方法如下所示:
pub fn get(&mut self, path: &str, handler: fn() -> Response) {
self.routes.insert(
path.to_owned(),
RouteOption {
handler,
method: String::from("GET"),
},
);
}
我想知道我是否可以在内部传递多个函数.get()
并获得它的列表。
我 javascript 你会做这样的事情:
function get(path, ...handlers) {
//handlers is an array with your arguments
}
这是可能的还是我需要传递一个数组作为第二个参数?
我想要的是传递尽可能多的处理程序,例如:
app.get("/hello", handler1, handler2, ....);
rust 中不允许使用可变参数(根据 rust 1.63
):考虑改为共享切片:
pub fn get(&mut self, path: &str, handlers: &[fn() -> Response]) {
for handler in handlers.into_iter() {
self.routes.insert(
path.to_owned(),
RouteOption {
handler,
method: String::from("GET"),
},
);
}
}