- Rust Quick Start Guide
- Daniel Arbuckle
- 301字
- 2021-06-10 19:46:00
Dependencies on libraries from crates.io
If a library that our program depends on is published on https://crates.io/, all we have to do to link it is add its linking code to the dependencies section. Let's say we want to use serde (a tool for turning Rust data into formats such as JSON and back) in our program. First, we find its linking code with: cargo search serde.
I originally found out about serde by browsing through crates.io, an exploration that I would encourage you to try as well.
This will print out a list of matches that looks something like this:
serde = "1.0.70" # A generic serialization/deserialization framework
serde_json = "1.0.24" # A JSON serialization file format
serde_derive_internals = "0.23.1" # AST representation used by Serde derive macros. Unstable.
serde_any = "0.5.0" # Dynamic serialization and deserialization with the format chosen at runtime
serde_yaml = "0.7.5" # YAML support for Serde
serde_bytes = "0.10.4" # Optimized handling of `&[u8]` and `Vec<u8>` for Serde
serde_traitobject = "0.1.0" # Serializable trait objects. This library enables the serialization of trait objects such…
cargo-ssearch = "0.1.2" # cargo-ssearch: cargo search on steroids
serde_codegen_internals = "0.14.2" # AST representation used by Serde codegen. Unstable.
serde_millis = "0.1.1" # A serde wrapper that stores integer millisecond value for timestamps and duration…
... and 458 crates more (use --limit N to see more)
The first one is the core serde library, and the linking code is the part of the line before the # symbol. All we have to do is copy and paste that into the dependencies section of Cargo.toml, and Rust will know that it should compile and link serde when it compiles our foo program. So, the dependencies section of Cargo.toml would look like this:
[dependencies]
serde = "1.0.70"
推薦閱讀
- Cassandra Design Patterns(Second Edition)
- Android 7編程入門(mén)經(jīng)典:使用Android Studio 2(第4版)
- Java深入解析:透析Java本質(zhì)的36個(gè)話題
- STM32F0實(shí)戰(zhàn):基于HAL庫(kù)開(kāi)發(fā)
- Apache Spark 2.x for Java Developers
- 深入分布式緩存:從原理到實(shí)踐
- Java程序設(shè)計(jì)入門(mén)
- Machine Learning in Java
- Java編程從入門(mén)到精通
- Scala Functional Programming Patterns
- DevOps 精要:業(yè)務(wù)視角
- 例解Python:Python編程快速入門(mén)踐行指南
- Oracle SOA Suite 12c Administrator's Guide
- Unity與C++網(wǎng)絡(luò)游戲開(kāi)發(fā)實(shí)戰(zhàn):基于VR、AI與分布式架構(gòu)
- Node.js核心技術(shù)教程