rust学习笔记(6)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                rust学习笔记(6)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                模塊
定義自己的模塊,方便外部的調用
mod可以嵌套
可見程度
分為private和public
其中pub可以分為模塊內可見和模塊外可見
mod也遵循可見性的要求
// 一個名為 `my_mod` 的模塊
mod my_mod {
    // 模塊中的項默認具有私有的可見性
    fn private_function() {
    pub fn function() {
    pub mod nested {
        pub fn function() {
使用模塊的時候,需要使用::訪問
fn main() {
    // 模塊機制消除了相同名字的項之間的歧義。
    function();
    my_mod::function();
    // 公有項,包括嵌套模塊內的,都可以在父模塊外部訪問。
    my_mod::indirect_access();
    my_mod::nested::function();
結構體
一個mod里面的struct默認是不可見的,并且它的字段默認也是不可見的.
mod my {
    // 一個公有的結構體,帶有一個公有的字段(類型為泛型 `T`)
    pub struct OpenBox<T> {
        pub contents: T,
    }
    // 一個公有的結構體,帶有一個私有的字段(類型為泛型 `T`)
    #[allow(dead_code)]
    pub struct ClosedBox<T> {
        contents: T,
    }
    impl<T> ClosedBox<T> {
        // 一個公有的構造器方法
        pub fn new(contents: T) -> ClosedBox<T> {
            ClosedBox {
                contents: contents,
            }
        }
    }
}
use
使用use字段可以使用模塊
// 將 `deeply::nested::function` 路徑綁定到 `other_function`。
use deeply::nested::function as other_function;
self和super
使用不同的關鍵詞可以訪問不同的級別的內容
像GO的package一樣編寫mod
現在的mod編寫需要在外部套上一個{},如何讓這個文件里面的全部內容屬于一個mod,這樣可以減少一層嵌套
// 此聲明將會查找名為 `my.rs` 或 `my/mod.rs` 的文件,并將該文件的內容放到
// 此作用域中一個名為 `my` 的模塊里面。
mod my;
fn function() {
    println!("called `function()`");
}
fn main() {
    my::function();
    function();
    my::indirect_access();
    my::nested::function();
}
這個文件應該被單獨放在一個文件夾下面(文件夾的名字應該和mod的名字相同)
總結
以上是生活随笔為你收集整理的rust学习笔记(6)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 美的置业香港上市 主要业务涵盖三个方面
- 下一篇: 营业执照可以办信用卡吗
