色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何利用Rust過程宏實現derive-with庫呢?

jf_wN0SrCdH ? 來源:Rust語言中文社區 ? 2024-01-25 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作用

通過派生宏 #[derive(With)] 給結構體字段生成 with_xxx 方法,通過鏈式調用 with_xxx 方法來構造結構體。

使用方法

1.給 named struct 每個字段生成 with_xxx 方法

#[derive(With)]
pubstructFoo{
puba:i32,
pubb:String,
}

宏生成代碼

implFoo{
pubfnwith_a(mutself,a:implInto)->Self{
self.a=a.into();
self
}
pubfnwith_b(mutself,b:implInto)->Self{
self.b=b.into();
self
}
}

2.給 tuple struct 每個字段生成 with_xxx 方法

#[derive(With)]
pubstructBar(i32,String);

宏生成代碼

implBar{
pubfnwith_0(mutself,field_0:implInto)->Self{
self.0=field_0.into();
self
}
pubfnwith_1(mutself,field_1:implInto)->Self{
self.1=field_1.into();
self
}
}

3.通過字段名給 named struct 指定字段實現 with_xxx 方法

#[derive(With)]
#[with(a)]
pubstructFoo{
puba:i32,
pubb:String,
}

宏生成代碼

implFoo{
pubfnwith_a(mutself,a:implInto)->Self{
self.a=a.into();
self
}
}

4.通過下標給 tuple struct 指定字段生成 with_xxx 方法

#[derive(With)]
#[with(1)]
pubstructBar(i32,String);

宏生成代碼

implBar{
pubfnwith_1(mutself,field_1:implInto)->Self{
self.1=field_1.into();
self
}
}

也支持結構體中含有泛型、生命周期、引用等。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • rust語言
    +關注

    關注

    0

    文章

    57

    瀏覽量

    3152

原文標題:【大家的項目】利用 Rust 過程宏實現的 derive-with 庫

文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何在Rust中連接和使用MySQL數據

    MySQL是一個廣泛使用的關系型數據,Rust作為一門相對較新的系統級編程語言,具有C語言般的高性能、安全、并發等特性,因此與MySQL一起使用是一種非常有趣的選擇。在本教程中,我們將手把手地展示
    的頭像 發表于 09-30 17:05 ?2305次閱讀

    如何使用Serde進行序列化和反序列化

    Serde 是一個用于序列化和反序列化 Rust 數據結構的。它支持 JSON、BSON、YAML 等多種格式,并且可以自定義序列化和反序列化方式。Serde 的特點是代碼簡潔、易于使用、性能高效
    的頭像 發表于 09-30 17:09 ?1703次閱讀

    如何使用Rust的標準和structopt來處理控制臺參數

    Rust是一種安全、高效的系統編程語言,其標準以及外部提供了很多處理控制臺參數的方式。在本篇文章中,我們將分別介紹如何使用Rust的標準
    的頭像 發表于 09-20 11:13 ?1805次閱讀

    如何對gcc編譯過程中生成的進行調試

    如何對gcc編譯過程中生成的進行調試?有哪幾種形式?如何對一個函數進行gprof方式的剖析?
    發表于 12-24 07:53

    如何利用C語言去調用rust靜態

    感覺比較合適。但如果把主要工作切過來,感覺Rust目前又太荒蕪了,而且上面的問題也同樣存在。嘗試了解到Rust可以編譯成靜態,于是動了只用Rust
    發表于 06-21 10:27

    Rust代碼中加載靜態時,出現錯誤 ` rust-lld: error: undefined symbol: malloc `怎么解決?

    “ [i]malloc ”、“ [i]exit ”。我驗證了使用 ` [i]nm ` 命令。 問題是我打算使用 ffi 在 rust 中使用這個靜態。當我嘗試在我的 Rust 代碼中加載靜態
    發表于 06-09 08:44

    Rust 1.15 引入自定義derive特性有什么做用

    Rust核心團隊發布了Rust 1.15穩定版,新增了備受期待的自定義derive特性,讓代碼生成工具(如Serde和Diesel)能最大效能地工作。
    發表于 05-17 18:05 ?0次下載
    <b class='flag-5'>Rust</b> 1.15 引入自定義<b class='flag-5'>derive</b>特性有什么做用

    Rust GUI 發展現狀

    Rust GUI 發展現狀 最近有一篇關于 Rust GUI 的博客,這不,kas?這個? Another GUI toolkit ?框架也針對 Rust 的 GUI 框架現狀進行了
    的頭像 發表于 12-21 15:00 ?3018次閱讀

    Chromium正式開始支持Rust

    ? Chromium 正式開始支持 Rust 目前的支持只是第一階段,在C++代碼中使用Rust寫的第三方(編譯成.so)。估計明年Chromium的二進制發行文件中會包含rust
    的頭像 發表于 01-14 10:04 ?1221次閱讀

    為什么我們從C++語言轉向Rust語言?

    gtk4-rs代碼包含GTK4的Rust crates。還有個龐大的GObject生態系統,其中許多基于gtk-rs中包含的Rust
    的頭像 發表于 02-17 17:45 ?1498次閱讀

    基于Rust的Log日志介紹

    了一種簡單的方法來實現日志記錄,本文將介紹如何使用Rust的Log作為日志門面,并結合env_logger和log4rs兩個日志的實戰用例進行深入探討。
    的頭像 發表于 09-19 14:49 ?4094次閱讀

    Rust的標準的功能劃分

    對于大部分軟件開發工程師而言,他們用Rust主要開發應用層軟件,也就是運行在用戶空間的程序。它們基于標準編寫,實現各種業務功能。應用層的軟件并非所有模塊和函數都涉及到系統調用(例如一些用于操作字符串和處理錯誤的函數,就無需調用
    的頭像 發表于 10-29 17:17 ?1821次閱讀
    <b class='flag-5'>Rust</b>的標準<b class='flag-5'>庫</b>的功能劃分

    FastTime-純Rust編寫的高并發快速時間

    FastTime, 純Rust編寫的快速時間, 并發: 2800萬+/秒. 一、組件
    的頭像 發表于 11-06 09:23 ?893次閱讀

    基于Rust的嵌入式符合ACID的鍵值數據

    surrealkv -- 基于 Rust 的 low level、版本化、嵌入式、符合 ACID 的鍵值數據
    的頭像 發表于 12-28 11:29 ?1164次閱讀

    如何用Rust過程魔法簡化SQL函數?

    這是 RisingWave 中一個 SQL 函數的實現。只需短短幾行代碼,通過在 Rust 函數上加一行過程,我們就把它包裝成了一個 SQL 函數。
    的頭像 發表于 01-23 09:43 ?2743次閱讀
    如何用<b class='flag-5'>Rust</b><b class='flag-5'>過程</b><b class='flag-5'>宏</b>魔法簡化SQL函數<b class='flag-5'>呢</b>?
    主站蜘蛛池模板: 亚洲国产精品久久人人爱 | 亚洲欧美中文字幕先锋 | 午夜福利理论片高清在线 | 嗯好大好猛皇上好深用力 | 老师机影院 | 精品国产乱码久久久久久下载 | qvod免费电影| 国产精品视频在线自在线 | 国产人A片在线乱码视频 | 中文字幕无线观看不卡网站 | 亚州AV中文无码乱人伦在线 | 亚洲精品久久久久久偷窥 | 2019午夜福利757视频第12集 | 久久九九免费 | 亚洲日韩在线天堂一 | YELLOW日本动漫免费动漫 | MM131亚洲精品久久安然 | 国产精品久久久久久精品... | 一区二区三区国产亚洲网站 | a级男女性高爱潮高清试看 A级毛片无码久久精品免费 | 1788vv视频 | 美女图片131亚洲午夜 | 两个奶被男人揉了一个晚上 | 涩涩视频下载 | 精品视频在线一区 | 一个人在线观看视频 | 久草免费视频在线观看 | 麻豆出品国产AV在线观看 | 美女脱18以下禁止看免费 | 亚洲国产中文字幕在线视频综合 | 亚洲国产在线观看免费视频 | 野花日本免费完整版高清版动漫 | 国产日韩亚洲专区无码 | 99精品免费久久久久久久久蜜桃 | 一攻多受h嗯啊巨肉bl巨污 | 97蜜桃网123| 无限资源在线观看高清 | 97人妻AV天天澡夜夜爽 | 持田香织abc | 诱受H嗯啊巨肉舍友1V1 | 97久久国产露脸精品国产 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品