Tuborfish rust
TIL
633
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 gần 2 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 hơn 1 năm 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 hơn 1 năm trước
8 0
Bài viết liên quan
White
0 2
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 5 tháng trước
0 2
White
20 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 2 năm trước
20 1
{{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á!