一、once_cell
是一種只執行一次的容器,多用於全域性變數
,安全初始化
,或者延遲初始化
use std::;
use once_cell::sync::lazy;
use once_cell::sync::oncecell;
static global_data: lazy>> = lazy::new(|| );
fn global_data() -> &'static mutex> )
}
二、lazy_static是一種執行一次的巨集,多用於初始化全域性變數
,功能相對單一
#[macro_use]
extern crate lazy_static;
use std::collections::hashmap;
lazy_static! ;
static ref count: usize = hashmap.len();
static ref number: u32 = times_two(21);
}fn times_two(n: u32) -> u32
fn main() entries.", *count);
println!("the entry for `0` is \"{}\".", hashmap.get(&0).unwrap());
println!("a expensive calculation on a static results in: {}.", *number);
}
三、serde、serde_json、serde_yaml、serde_urlencoded、toml-rs是乙個關於序列化和反序列化的三方庫,常用於配置檔案解析,或http返回json
[dependencies]
serde =
serde_json = "1.0.50"
serde_yaml = "0.8.11"
serde_urlencoded = "0.6.1"
toml = "0.5.6"
chrono =
#[macro_use]
extern crate serde;
use chrono::*****datetime;
use serde_json;
#[derive(debug, serialize, deserialize)]
struct user
fn main() "#;
let v: user = serde_json::from_str(str).unwrap();
println!("", v) // user
}
四、hyper、reqwest乙個基於tokio的網路庫
let client = client::new();
let mut res = client.get(url).await?;
println!("response: {}", res.status());
println!("headers: \n", res.headers());
// stream the body, writing each chunk to stdout as we get it
// (instead of buffering and printing at the end).
while let some(next) = res.data().await
println!("\n\ndone!");
let body = reqwest::get("")
.await?
.text()
.await?;
println!("body = ", body);
命令列相關的工具庫,非常強大六、tokio、async-std
兩套類似的非同步程式設計runtime實現庫,雖然async-std強詞奪理說這是讓async程式設計發揚光大,其實是生生割裂了非同步程式設計生態的健康發展。
swift 常用三方庫
在決定pod進專案之前,最好先看看該庫是否還在更新 三方庫最好是封裝一層再使用,後期業務改動需要換庫會方便很多 約束布局 snapkit masonry的swift版 star 16.6k star 16.4k 鍵盤管理 iqkeyboardmanagerswift star 14.4k 網路請求 ...
常用第三方庫
1 通過cocoapods安裝 專案名稱 專案資訊 afnetworking 網路請求元件 fmdb 本地資料庫元件 sdwebimage 多個縮圖快取元件 uickeychainstore 存放使用者賬號密碼元件 reachability 監測網路狀態 datetools 友好化時間 mbprog...
IOS常用第三方庫
這裡有一篇csdn文章說得不錯 這個庫簡單易用,直接看一看文件就明白怎麼用了 當然,後來出了個yymodel,筆者研究了一下,其實與mjextension差不多,只是yymodel大部分都使用runtime最底層api,而mjextension更多的是oc語法。在效能上,據說yymodel要比mje...