美文网首页
rust中使用可变的全局变量

rust中使用可变的全局变量

作者: 梁帆 | 来源:发表于2021-11-12 09:35 被阅读0次

    首先导入:

    pub use std::sync::atomic::AtomicU64;
    pub use std::sync::atomic::Ordering;
    

    设置原子类型的全局变量:

    static POSITION: AtomicU64 = AtomicU64::new(0);
    

    这里我们定义了一个原子类型的u64变量POSITION,初始值设为0。如果想要对它进行加、减的话,需要:

    //给全局变量加上111
    POSITION.fetch_add(111, Ordering::SeqCst);  
    //给全局变量减去102
    POSITION.fetch_sub(102, Ordering::SeqCst);
    

    如果想要把全局变量POSITION赋给某个变量时,直接用变量名POSITION是不允许的,需要采用load方法:

    let val = POSITION.load(Ordering::SeqCst);
    

    相关文章

      网友评论

          本文标题:rust中使用可变的全局变量

          本文链接:https://www.haomeiwen.com/subject/lkoialtx.html