Tuborfish rust
TIL
491
Rust
27
White

Giang Nguyen viết ngày 09/11/2016

Tuborfish rust

Đôi khi bạn sẽ thấy gọi hàm kiểu này ::<T>, đó là gì ? đó là turbofish của rust

enum Foo {
    Bar(u8)
}

trait Getter {
    fn get_the_stuff(&Foo) -> Option<u8>;
}

impl Getter for u8 {
    fn get_the_stuff(f: &Foo) -> Option<u8> {
        match *f {
            Foo::Bar(bar) => Some(bar),
        }
    }
}

impl Getter for String {
    fn get_the_stuff(f: &Foo) -> Option<u8> {
        match *f {
            Foo::Bar(bar) => Some(bar)
        }
    }
}

impl Foo {
    fn get<T>(&self) -> Option<u8> where T:Getter {
        T::get_the_stuff(self)
    }
}

fn main() {
    let f = Foo::Bar(128u8);
    println!("{:?}", f.get::<String>());
    // or println!("{:?}", f.get::<u8>());
}

giangnh 09-11-2016

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Giang Nguyen

20 bài viết.
34 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
30 5
(Ảnh) Hai ngày nay mình đã tìm hiểu về Amazon S3, Cloudfront và Letsencrypt để xây dựng 2 trang web static, thứ nhất là trang chủ của (Link) và t...
Giang Nguyen viết 1 năm trước
30 5
White
9 0
Đôi dòng về ID3 (Ảnh) Nếu bạn nào chưa biết thì có thể đọc phần này, hoặc biết rồi thì có thể next tới phần kế tiếp nhé. 1. Giới thiệu Như hì...
Giang Nguyen viết 12 tháng trước
9 0
White
8 0
Type Result Type trên dùng để làm gì? Result được dùng cho những trường hợp chúng ta muốn return lại một giá trị nào đó (Ok) hoặc propagating erro...
Giang Nguyen viết 11 tháng trước
8 0
Bài viết liên quan
White
18 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 1 năm trước
18 1
White
3 3
Hôm nay tự viết lại cái note này về quá trình học Rust, xem như là tự giúp mình nhớ sâu và rõ hơn về Rust. Note này sẽ ngắn gọn hơn bản (Link). Sơ...
Giang Nguyen viết 1 năm trước
3 3
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
20 bài viết.
34 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!