Tuborfish rust
TIL
720
Rust
28
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
34 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 hơn 2 năm trước
34 5
White
10 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 2 năm trước
10 0
White
10 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 2 năm trước
10 0
Bài viết liên quan
White
0 4
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 1 năm trước
0 4
White
2 0
I used Spring boot, Hibernate few times back then at University, I'v started using it again recently. In this (Link), I want to check how Spring J...
Rey viết 7 tháng trước
2 0
{{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á!