日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rust学习笔记(6)

發(fā)布時(shí)間:2025/3/13 编程问答 18 如意码农
生活随笔 收集整理的這篇文章主要介紹了 rust学习笔记(6) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

模塊

定義自己的模塊,方便外部的調(diào)用

mod可以嵌套

可見程度

分為private和public

其中pub可以分為模塊內(nèi)可見和模塊外可見

mod也遵循可見性的要求

// 一個(gè)名為 `my_mod` 的模塊
mod my_mod {
// 模塊中的項(xiàng)默認(rèn)具有私有的可見性
fn private_function() { pub fn function() { pub mod nested {
pub fn function() {

使用模塊的時(shí)候,需要使用::訪問

fn main() {
// 模塊機(jī)制消除了相同名字的項(xiàng)之間的歧義。
function();
my_mod::function(); // 公有項(xiàng),包括嵌套模塊內(nèi)的,都可以在父模塊外部訪問。
my_mod::indirect_access();
my_mod::nested::function();

結(jié)構(gòu)體

一個(gè)mod里面的struct默認(rèn)是不可見的,并且它的字段默認(rèn)也是不可見的.

mod my {
// 一個(gè)公有的結(jié)構(gòu)體,帶有一個(gè)公有的字段(類型為泛型 `T`)
pub struct OpenBox<T> {
pub contents: T,
} // 一個(gè)公有的結(jié)構(gòu)體,帶有一個(gè)私有的字段(類型為泛型 `T`)
#[allow(dead_code)]
pub struct ClosedBox<T> {
contents: T,
} impl<T> ClosedBox<T> {
// 一個(gè)公有的構(gòu)造器方法
pub fn new(contents: T) -> ClosedBox<T> {
ClosedBox {
contents: contents,
}
}
}
}

use

使用use字段可以使用模塊

// 將 `deeply::nested::function` 路徑綁定到 `other_function`。
use deeply::nested::function as other_function;

selfsuper

使用不同的關(guān)鍵詞可以訪問不同的級(jí)別的內(nèi)容

像GO的package一樣編寫mod

現(xiàn)在的mod編寫需要在外部套上一個(gè){},如何讓這個(gè)文件里面的全部內(nèi)容屬于一個(gè)mod,這樣可以減少一層嵌套

// 此聲明將會(huì)查找名為 `my.rs` 或 `my/mod.rs` 的文件,并將該文件的內(nèi)容放到
// 此作用域中一個(gè)名為 `my` 的模塊里面。
mod my; fn function() {
println!("called `function()`");
} fn main() {
my::function(); function(); my::indirect_access(); my::nested::function();
}

這個(gè)文件應(yīng)該被單獨(dú)放在一個(gè)文件夾下面(文件夾的名字應(yīng)該和mod的名字相同)

總結(jié)

以上是生活随笔為你收集整理的rust学习笔记(6)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。