變量
2021-05-11 22:38 作者:707才不會沉迷B站 | 我要投稿
Rust很奇怪變量默認是不可變的,是不是很矛盾,因為這是為了安全。用let關鍵字來定義變量
因為變量不可變,所以給x再賦值6時會報錯。要想聲明可變的變量,需要使用關鍵字mut
這樣確實會安全很多,在創(chuàng)建變量時就會思考未來會不會變,如果變化就加上mut。如果默認是可變的變量,則本來不想修改的變量,在未來可能會一不小心改掉,那么就很危險了。
雖然變量默認是不可變的,但Rust也有常量類型,常量聲明使用const,且必須指明類型
變量和常量有些區(qū)別:
常量不能使用mut關鍵字,并沒有可變的常量
常量可以聲明在任何地方,且始終都有效
常量的聲明必須用常量表達式,不能用函數(shù),在編譯期就要確定他的值
變量還有一個特性就是可以覆蓋
新的x變量會覆蓋掉舊的x,看起來像是修改了變量值,其實是用let關鍵字又聲明了一個同名的變量,而且變量的類型是可以修改的
這種特性即使使用mut也無法做到。
標簽: