Rust 中的 const()函数
在本文中,我们将了解 Rust 中的 const()
是什么。
Rust 中的 const()
当在整个程序中多次使用特定值时,重复复制它可能很麻烦。此外,将其作为从函数传递到函数的变量并不总是可能或可取的。
在这些情况下,const
关键字是复制代码的有用替代方法。
Rust 有两种类型的常量,可以在任何范围内声明,包括全局。两者都需要明确的类型注释:
-
const
– 一个不可更改的值(典型情况) -
static
– 具有静态生命周期的可变变量静态寿命是推导出来的,因此不需要指定。访问或更改可变静态变量是不安全的。
例子:
fn main(){constTHE_LIMIT:i32 =120;constNUM:f32 =3.14;println!("The limit of user is {}",THE_LIMIT);println!("The value of num is {}",NUM);}
输出:
The limit of user is 120
The value of num is 3.14
常量应该显式输入;与 let
不同,你不能让编译器确定它们的类型。任何常量值都可以在 const
中定义,这是包含在常量中的绝大多数有意义的东西;例如,const
不能应用于文件。
const
和 static
项目之间的惊人相似之处造成了何时应该使用每个项目的不确定性。常量在使用时是倾斜的,使其用法等同于简单地将 const
名称替换为其值。
相反,静态变量指向所有访问共享的单个内存地址。这意味着,与常量不同,它们不能具有析构函数并且在整个代码库中作为单个值运行。
const
关键字也可以在没有原始指针的情况下使用,如 const T
和 mut T.
所见。
例子:
staticLANGUAGE: &str ="Rust";constLIMIT: i32 =10;fn is_big(n: i32)-> bool {n>LIMIT}fn main(){letn=16;println!("{} is a programming language.",LANGUAGE);println!("The limit is {}",LIMIT);println!("{} is {}",n,ifis_big(n){"large"}else{"small"});}
输出:
Rust is a programming language.
The limit is 10
16 is large
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。