rust實戰系列八:常量

在Rust中還可以用const關鍵字做聲明。如下所示:
const GLOBAL: i32 = 0;
使用const聲明的是常量,而不是變量。因此一定不允許使用mut關鍵字修飾這 個變量綁定,這是語法錯誤。常量的初始化表達式也一定要是一個編譯期常量,不 能是運行期的值。它與static變量的最大區別在于:編譯器并不一定會給const常量分 配內存空間,在編譯過程中,它很可能會被內聯優化。因此,用戶千萬不要用hack 的方式,通過unsafe代碼去修改常量的值,這么做是沒有意義的。以const聲明一個 常量,也不具備類似let語句的模式匹配功能。

2.2 基本數據類型 2.2.1 bool
布爾類型(bool)代表的是“是”和“否”的二值邏輯。它有兩個值:true和false。 一般用在邏輯表達式中,可以執行“與”“或”“非”等運算。
fn main() {
let x = true;
let y: bool = !x;
let z = x && y;
println!(“{}”, z);
let z = x || y;
println!(“{}”, z);
letz=x&y; println!(“{}”, z);
letz=x|y; println!(“{}”, z);
letz=x^y;
println!(“{}”, z);
}
// 取反運算
// 邏輯與,帶短路功能
// 邏輯或,帶短路功能
// 按位與,不帶短路功能 // 按位或,不帶短路功能 // 按位異或,不帶短路功能
一些比較運算表達式的類型就是bool類型:
fn logical_op(x: i32, y: i32) {
let z : bool = x < y;
println!(“{}”, z);
}
if a >= b { …
} else { …
}
2.2.2 char 字符類型由char表示。它可以描述任何一個符合unicode標準的字符值。在代碼
中,單個的字符字面量用單引號包圍。
let love = ‘?’; // 可以直接嵌入任何 unicode 字符 字符類型字面量也可以使用轉義符:
bool類型表達式可以用在if/while等表達式中,作為條件表達式。比如:
let c1 = ‘\n’;
let c2 = ‘\x7f’;
let c3 = ‘\u{7FFF}’;
// 換行符
// 8 bit 字符變量 // unicode字符

因為char類型的設計目的是描述任意一個unicode字符,因此它占據的內存空間 不是1個字節,而是4個字節。
對于ASCII字符其實只需占用一個字節的空間,因此Rust提供了單字節字符字 面量來表示ASCII字符。我們可以使用一個字母b在字符或者字符串前面,代表這個 字面量存儲在u8類型數組中,這樣占用空間比char型數組要小一些。示例如下:
let x :u8 = 1;
let y :u8 = b’A’;
let s :&[u8;5] = b"hello";
let r :&[u8;14] = br#“hello \n world”#;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696225.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696225.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696225.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ChatGPT丨成像光譜遙感技術中的AI革命:ChatGPT應用指南

遙感技術主要通過衛星和飛機從遠處觀察和測量我們的環境&#xff0c;是理解和監測地球物理、化學和生物系統的基石。ChatGPT是由OpenAI開發的最先進的語言模型&#xff0c;在理解和生成人類語言方面表現出了非凡的能力。本課程重點介紹ChatGPT在遙感中的應用&#xff0c;人工智…

尾礦庫排洪系統結構仿真軟件WKStruc(可試用)

1、背景介紹 尾礦庫作為重大危險源之一&#xff0c;在國際災害事故排名中位列第18位&#xff0c;根據中國鉬業2019年8月刊《中國尾礦庫潰壩與泄漏事故統計及成因分析》的統計&#xff0c;在46起尾礦庫泄漏事故中&#xff0c;由于排洪設施導致的尾礦泄漏事故占比高達1/3&#x…

c#創建安裝windows服務

背景:最近在做設備數據對接采集時,遇到一些設備不是標準的Service-Client接口,導致采集的數據不夠準確;比如設備如果中途開關機后,加工的數量就會從0開始重新計數,因此需要實時監控設備的數據,進行疊加處理;考略到工廠設備比較多,實時監聽接口的數據為每秒3次,因此將…

外包干了三年,技術算是廢了。。。

先說一下自己的個人情況&#xff0c;大專生&#xff0c;17年通過校招進入湖南某軟件公司&#xff0c;干了接近5年的手工測試&#xff0c;今年年初&#xff0c;感覺自己不能夠在這樣下去了&#xff0c;長時間呆在一個舒適的環境會讓一個人墮落!而我已經在一個企業干了五年的手工…

LeetCode.106. 從中序與后序遍歷序列構造二叉樹

題目 106. 從中序與后序遍歷序列構造二叉樹 分析 前面講過根據前序和中序構建二叉樹&#xff1a;博客鏈接 這道題是告訴我們一顆二叉樹的后序和中序&#xff0c;讓我們根據后序和中序構造出整顆二叉樹。 拿到這道題&#xff0c;我們首先要知道中序的后序又怎樣的性質&#…

云上業務一鍵性能調優,應用程序性能診斷工具 Btune 上線

- 01 - 終于等來了預算&#xff0c;這就把服務遷移到最新的 CPU 平臺上去&#xff0c;這樣前端的同事立馬就能感受我們帶來的速度提升了。可是…… 這些性能指標怎么回事&#xff1f;不僅沒有全面提升&#xff0c;有些反而下降了。不應該這樣啊&#xff0c;這可怎么辦&#xf…

使用單一ASM-HEMT模型實現從X波段到Ka波段精確的GaN HEMT非線性仿真

來源&#xff1a;Accurate Nonlinear GaN HEMT Simulations from X- to Ka-Band using a Single ASM-HEMT Model 摘要&#xff1a;本文首次研究了ASM-HEMT模型在寬頻帶范圍內的大信號準確性。在10、20和30 GHz的頻率下&#xff0c;通過測量和模擬功率掃描進行了比較。在相同的頻…

day05-進程通信

1> 將互斥機制的代碼實現重新敲一遍 代碼&#xff1a; #include<myhead.h>int num520;//臨界資源//1.創建互斥鎖 pthread_mutex_t fastmutex;//定義任務函數 void *task1(void *arg){printf("1111111\n");//3.臨界區上面獲取鎖資源&#xff08;上鎖&#…

LeetCode每日刷題:101. 對稱二叉樹

題目&#xff1a; 解題思路&#xff1a;可以新寫一個函數&#xff0c;從root開始&#xff0c;root的left的頭結點將記為lefttree&#xff08;左子樹&#xff09;,root的lright的頭結點將記為righttree&#xff08;右子樹&#xff09;&#xff0c; 然后遞歸左子樹的root.left與右…

【鴻蒙 HarmonyOS 4.0】TypeScript開發語言

一、背景 HarmonyOS 應用的主要開發語言是 ArkTS&#xff0c;它由 TypeScript&#xff08;簡稱TS&#xff09;擴展而來&#xff0c;在繼承TypeScript語法的基礎上進行了一系列優化&#xff0c;使開發者能夠以更簡潔、更自然的方式開發應用。值得注意的是&#xff0c;TypeScrip…

Python:Keyboard Interrupt - 當代碼遇到“Ctrl+C“時發生了什么?

Python&#xff1a;Keyboard Interrupt - 當代碼遇到"CtrlC"時發生了什么&#xff1f; &#x1f308; 個人主頁&#xff1a;高斯小哥 &#x1f525; 高質量專欄&#xff1a;【Matplotlib之旅&#xff1a;零基礎精通數據可視化】 &#x1f4a1; 創作高質量博文&#x…

Web服務器集群: kylin 部署 Halo博客系統

目錄 一、實驗 1.環境 2. kylin 部署mysql數據庫 3. kylin 構建Java運行環境 4. 創建博客使用的數據庫 5. kylin 部署 halo博客系統 6. kylin 部署nginx 7. kylin 使用 SSL證書基于https訪問部署的博客系統 二、問題 1.mysql安裝報錯 2.查看mysql數據庫報錯 3.syste…

【k近鄰】 K-Nearest Neighbors算法k值的選擇

【k近鄰】 K-Nearest Neighbors算法原理及流程 【k近鄰】 K-Nearest Neighbors算法距離度量選擇與數據維度歸一化 【k近鄰】 K-Nearest Neighbors算法k值的選擇 【k近鄰】 Kd樹的構造與最近鄰搜索算法 【k近鄰】 Kd樹構造與最近鄰搜索示例 k近鄰算法&#xff08;K-Nearest Neig…

jdk動態代理與CGLib動態代理

jdk動態代理 目標對象 package com.study;/*** 目標對象&#xff08;被代理的對象&#xff09;**/ public class Target implements TargetInf{public String name;public Target() {}public Target(String name) {this.name name;}public String buyCola (String name){Sys…

【SQL注入】靶場SQLI DUMB SERIES-24通過二次注入重置用戶密碼

先使用已知信息admin/admin登錄進去查下題&#xff0c;發現可以修改密碼 猜測可能存在的SQL語句&#xff1a;UPDATE user SET password新密碼 WHERE user用戶名 and password舊密碼 假設我們知道有個admin用戶&#xff0c;但是不知道其密碼&#xff0c;如何可以將其密碼重置&…

雜題——1097: 蛇行矩陣

題目描述 蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。 輸入格式 本題有多組數據&#xff0c;每組數據由一個正整數N組成。&#xff08;N不大于100&#xff09; 輸出格式 對于每一組數據&#xff0c;輸出一個N行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角…

如何在群輝7.2中使用Docker搭建容器魔方服務并遠程訪問【內網穿透】

文章目錄 1. 拉取容器魔方鏡像2. 運行容器魔方3. 本地訪問容器魔方4. 群輝安裝Cpolar5. 配置容器魔方遠程地址6. 遠程訪問測試7. 固定公網地址 本文主要介紹如何在群輝7.2版本中使用Docker安裝容器魔方&#xff0c;并結合Cpolar內網穿透工具實現遠程訪問本地網心云容器魔方界面…

shell中字符串的操作,和shell中數組的操作

獲取長度 rootubuntu:/home/test/Desktop# a"hello world" rootubuntu:/home/test/Desktop# echo ${#a} 11字符串切片 ${parameter:offset} 偏移量 $(parameter:offset:length} 偏移量&#xff1a;長度rootubuntu:/home/test/Desktop# echo ${a:1:2} el截取最后一個…

C#知識點-17(正則表達式)

正則表達式 概念&#xff1a;正則表達式是用來進行文本處理的技術&#xff0c;是語言無關的&#xff0c;在幾乎所有語言中都有實現 元字符&#xff1a; 1、.&#xff1a;匹配除\n之外的任何單個字符。例如正則表達式“b.g”能匹配如下字符串&#xff1a;“big”、“bug”、“…

MySQL 窗口函數溫故知新

本文用于復習數據庫窗口函數&#xff0c;希望能夠溫故知新&#xff0c;也希望讀到這篇文章的有所收獲。 本文以&#xff1a;MySQL為例 參考文檔&#xff1a; https://www.begtut.com/mysql/mysql-window-functions.html 使用的樣例數據&#xff1a;https://www.begtut.com/m…