【发布时间】:2019-09-16 18:00:42
【问题描述】:
我正在编写一个 TCP 客户端,并且在我的客户端结构中有一个 conn 字段。我的客户端实现了两种方法new 来实例化结构并连接以打开与服务器的连接并将其设置为conn 字段的值
pub struct FistClient {
addr: String,
conn: TcpStream,
}
impl FistClient {
pub fn new(ip: &str, port: &str) -> Self {
FistClient {
addr: String::from(ip) + ":" + &String::from(port),
// conn: <some-defaullt-value>,
}
}
pub fn connect(&mut self, ip: &str, port: &str) {
let res = TcpStream::connect(&self.addr);
match res {
Ok(c) => self.conn = c,
Err(_) => panic!(),
}
}
}
我想将新方法中的conn 字段设置为某个默认值。在 Go 中,我可以执行 conn: nil 之类的操作,但在这里不起作用。我也尝试了Default::default(),但是TCPStream 没有实现该特征我应该如何将其设置为默认值?
【问题讨论】: