如何引入第三方库

其他语言的引入方式

我们都知道很多语言可以导入第三方包:

#include<stdio.h>                     // c/c++

import { app } from "app";            // vue

use app\controller\BaseController;    // php

import java.io.OutputStream;         // java

import asyncio                       // python

import (
	"fmt"                            // golang
)

rust的引入方式

那么在rust中如何实现呢??

//根据官方文档,rust和php同样使用use来引入第三方包。
use mysql::*;

//当然不仅仅在rs文件中引入,还需要再Cargo.toml文件中的[dependencies]引入并指定版本,可以理解为php的composer.json文件。
[dependencies]
mysql = "25.0.1"

具体有哪些库呢?可以参考std - Rust

如何分文件或者文件夹来开发呢?

假设我有如下的目录与文件结构

main
L__src
    L__app
    |   L__core.rs
    L__main.rs

// core.rs
pub fn start_app(){
    println!("Hello, world!");
}

那么我如何才能在main.rs中引用到core.rs中的代码呢?

方案一

我们可以在main.rs同目录下新建一个app.rs文件,来声明app目录下的其他文件,并在main.rs文件中声明app目录。

//app.rs
pub mod core;

//main.rs
mod app;
fn main() {
  app::core::start_app();
}

方案二

我们可以在app目录下新建一个mod.rs文件,并在mod.rs中声明app目录下的其他文件。

//app\mod.rs
pub mod core;

//main.rs
mod app;
fn main() {
  app::core::start_app();
}

今天就到这里吧,太晚了,晚安。