Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
vì sao Blockchain chuộng rust và golang hơn Java
em có tìm hiểu vài công ty làm blockchain thì họ yêu cầu phải biết rust, golang hoặc NodeJS, vì sao Java k hợp với ứng dụng Blockchain vậy ạ, em thấy có dự án này : <a href="https://github.com/web3j/web3j " target="_blank">https://github.com/web3j/web3j </a> họ vẫn dùng Java ạ.
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
Rust: dấu hỏi chấm ở cuối hàm có nghĩa là gì?
Bởi vì trong rust chưa có exception, nên chúng ta cần trả về kiểu Result cho những hàm mà có thể có lỗi. Nhưng đôi khi chúng ta không muốn lúc nào cũng phải xử lý lỗi, chúng muốn lấy kết quả ra xử lý và nhường việc xử lý lỗi cho những hàm gọi sau, chúng ta có thể dùng dấu ?, ví dụ: <p> </p> <pre> use std::fmt; // Import the `fmt` module. #[derive(Debug)] struct DivideError { details: String } impl DivideError { fn new(msg: &amp;str) -&gt; DivideError { DivideError{details: msg.to_string()} } } impl fmt::Display for DivideError { fn fmt(&amp;self, f: &amp;mut fmt::Formatter) -&gt; fmt::Result { write!(f,"{}",self.details) } } impl std::error::Error for DivideError { fn description(&amp;self) -&gt; &amp;str { &amp;self.details } } fn divide(a: i32, b: i32) -&gt; Result { if b != 0 { Ok(a / b) } else { Err(DivideError::new("can not devide 0")) } } fn divideWrap() -&gt; Result { let result = divide(10, 5)?; println!("{}", result); Ok(()) } fn main() { divideWrap(); } </pre> <p> </p> <p> Tham khảo: <a href="https://stackoverflow.com/questions/42917566/what-is-this-question-mark-operator-about" target="_blank">https://stackoverflow.com/questions/42917566/what-is-this-question-mark-operator-about</a> </p>
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
Rust: self.0 nghĩa là gì?
Rust: self.0 hay self.[index] nói chung là cách để truy cập phần tử thứ index trong các struct mà không có fields. <p> </p> <p> Ví dụ với: <code>struct MinMax(i64, i64);</code> thì <code>let minmax = MinMax(0, 14);</code> thì <code>self.0 = 0</code> và <code>self.1 = 4</code> </p>
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
Vì sao nên học Rust?
Có những lý do để nên học Rust: <p> </p> <ul> <li>Rust là ngôn ngữ dạng biên dịch, và nó có thể biên dịch ra loại chương trình, đặc biệt là các chương trình <a href="https://webassembly.org/" target="_blank">webassembly</a> hay các chương trình có thể chạy trực tiếp trên hệ điều hành mà không cần phải qua máy ảo vậy nên tốc độ có thể ngang bằng viết chương trình với C/C++. </li> <li>Cú pháp cũng khá thân thiện và có phần dễ dàng hơn so với C/C++ </li> <li>Trong thế hệ tiếp theo của blockchain thì Rust đang được lựa chọn làm ngôn ngữ để viết smart contract</li></ul>
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
[Go]Go liệu có thể bị thay thế bởi Rust
Mình đã lập trình Rust ở mức cơ bản, mình thấy Rust hình như không chạy qua máy ảo mà chạy trực tiếp trên hệ điều hành luôn (mình mới chỉ đoán thôi nhé), và có performance khá tốt, mình cũng chưa thử đo với C/C++. Lang thang đọc được bài này: <a href="https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f, " target="_blank">https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f, </a> liệu rằng Go có thể bị thay thế bởi Rust không anh em?
Answer