Go 語言中的內置運算符

1. 算術運算符

注意: ++(自增)和--(自減)在 Go 語言中是單獨的語句,并不是運算符。

package mainimport "fmt"func main() {fmt.Println("10+3=", 10+3)      // 13fmt.Println("10-3=", 10-3)      // 7fmt.Println("10*3=", 10*3)      // 30// 除法注意:如果運算的數都是整數,那么除后,去掉小數部分,保留整數部分fmt.Println("10/3=", 10/3)      // 3fmt.Println("10.0/3=", 10.0/3)  // 3.3333333333333335// 取余注意 余數=被除數-(被除數/除數)*除數fmt.Println("10%3=", 10%3)      // 1fmt.Println("-10%3=", -10%3)    // -1fmt.Println("10%-3=", 10%-3)    // 1fmt.Println("-10%-3=", -10%-3)  // -1}

注意:在 golang 中,++ -- 只能獨立使用,錯誤寫法如下:

var i int = 8
var a int
a = i++  //錯誤,i++只能獨立使用
a = i--  //錯誤, i--只能獨立使用

注意:golang 中沒有前++ 和前--,錯誤寫法如下:

var i int = 1
++i // 錯誤,在 golang 沒有 前++
--i // 錯誤,在 golang 沒有 前--
fmt.Println("i=", i)

2. 關系運算符

示例代碼如下:

package main
import "fmt"func main() {var a1 = 9var a2 = 8fmt.Println(a1 == a2) // falsefmt.Println(a1 != a2) // truefmt.Println(a1 >  a2) // truefmt.Println(a1 >= a2) // truefmt.Println(a1 <  a2) // flasefmt.Println(a1 <= a2) // flaseflag := a1 > a2fmt.Println("flag=", flag) // flag=truevar a3 = 9var a4 = 14flag := a3 > a4if flag {fmt.Println("a3>a4")  // a3>a4}var a5 = 9var a6 = 8if a5 == a6 {fmt.Println("a4=a6") } else {fmt.Println("a5!=a6") // a5!=a6}}

3. 邏輯運算符


package main
import ("fmt")
func main() {var age int = 40// 演示邏輯運算符的使用 &&if age > 30 && age < 50 {fmt.Println("ok1") // ok1}if age > 30 && age < 40 {fmt.Println("ok2")}// 演示邏輯運算符的使用 ||if age > 30 || age < 50 {fmt.Println("ok3") // ok3}if age > 30 || age < 40 {fmt.Println("ok4") // ok4}// 演示邏輯運算符的使用 !if age > 30 {fmt.Println("ok5") // ok5}if !(age > 30) {fmt.Println("ok6")}
}

邏輯運算符短路演示:

package main
import ( "fmt")
func test() bool {fmt.Println("test...")return true
}
func main() {var i int = 10if i < 9 && test() {fmt.Println("ok...")}if i > 9 || test() {fmt.Println("hello...")}
}

4. 賦值運算符


package main
import "fmt"
func main() {var a = 10a += 3 fmt.Println(a) // 13var b = 10b -= 3 fmt.Println(b) // 7var c = 10c *= 3 fmt.Println(c) // 30var d = 10d /= 3        fmt.Println(d) // 3var e float64 = 10e /= 3        fmt.Println(e) // 3.3333333333333335var f = 10f %= 3        fmt.Println(f) // 1}

5. 位運算符

位運算符對整數在內存中的二進制位進行操作。

package mainimport "fmt"func main() {var a int = 5 // 101var b int = 2 // 010fmt.Println("a&b=", a&b)   // 000 (值 0)fmt.Println("a|b=", a|b)   // 111 (值 7)fmt.Println("a^b=", a^b)   // 111 (值 7)fmt.Println("5>>2=", a>>b) // 1  (5右移2位)fmt.Println("5>>1=", 5>>1) // 10 (5右移1位)fmt.Println("7>>2=", 7>>2) // 1  (7右移1位)fmt.Println("5<<2=", a<<b) // 10100 (5左移2位)fmt.Println("5<<1=", 5<<1) // 1010  (5左移1位)}

6. 運算符練習

1. 練習:有兩個變量a和b,要求將其進行交換,最終打印結果。

package main
import "fmt"
func main() {var a = 34var b = 10t := a // t=34a = b  // a=10b = t  // b=34fmt.Printf("a=%v b=%v", a, b)}

2.?練習:有兩個變量a和b,要求將其進行交換,不能使用中間變量,最終打印結果。

package main
import "fmt"
func main() {var a = 34var b = 10a = a + b // a=34+10 =>44b = a - b // b=34+10-10=>34a = a - b // a=(34+10)-(34+10-10)=>10fmt.Printf("a=%v b=%v", a, b)}

3.?練習:假如還有100天放假,問:多少個星期零多少天。

package main
import "fmt"
func main() {var days = 100var week = days / 7var day = days % 7fmt.Printf("距離放假還有%v周零%v天", week, day)}

4.?練習:定義一個變量保存華氏溫度,請求出華氏溫度對應的攝氏溫度。

華氏溫度轉換攝氏溫度的公式為:C=(F-32)÷1.8,攝氏溫標(°C)和華氏溫標(°F)

package main
import "fmt"
func main() {var F float32 = 100 // 華氏溫度C := (F - 32) / 1.8fmt.Printf("華氏溫度對應的攝氏溫度是%.2f", C)
}

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

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

相關文章

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶場第五期SQL注入的內容中我們談到了sqlmap&#xff0c;但是由于很多朋友看不了解命令行格式&#xff0c;所以是純手動獲取數據庫信息的 接下來我們就用sqlmap來進行皮卡丘靶場的sql注入學習&#xff0c;鏈接&#xff1a;https://wwhc.lanzoue.com/ifJY32ybh6vc…

發立得信息發布系統房屋信息版(php+mysql)V1.0版

# 發立得信息發布系統房屋信息版(phpmysql) 一個輕量級的房屋信息發布平臺&#xff0c;基于PHP和MySQL開發&#xff0c;支持用戶發布房屋出售/出租信息&#xff0c;以及后臺管理功能。 輕量級適合網站開發PHP方向入門者學習&#xff0c;首發版本&#xff0c;未經實際業務流程檢…

學習 React【Plan - June - Week 1】

一、使用 JSX 書寫標簽語言 JSX 是一種 JavaScript 的語法擴展&#xff0c;React 使用它來描述用戶界面。 什么是 JSX&#xff1f; JSX 是 JavaScript 的一種語法擴展。看起來像 HTML&#xff0c;但它實際上是在 JavaScript 代碼中寫 XML/HTML。瀏覽器并不能直接運行 JSX&…

小智AI+MCP

什么是小智AI和MCP 如果還不清楚的先看往期文章 手搓小智AI聊天機器人 MCP 深度解析&#xff1a;AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下載官方MCP的示例代碼 Github&#xff1a;https://github.com/78/mcp-calculator 安這個步驟執行 其中MCP_ENDPOI…

基于python大數據的口紅商品分析與推薦系統

博主介紹&#xff1a;高級開發&#xff0c;從事互聯網行業六年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了多年的設計程序開發&#xff0c;開發過上千套設計程序&#xff0c;沒有什么華麗的語言&#xff0c;只有實實在…

ArcPy擴展模塊的使用(3)

管理工程項目 arcpy.mp模塊允許用戶管理布局、地圖、報表、文件夾連接、視圖等工程項目。例如&#xff0c;可以更新、修復或替換圖層數據源&#xff0c;修改圖層的符號系統&#xff0c;甚至自動在線執行共享要托管在組織中的工程項。 以下代碼展示了如何更新圖層的數據源&…

打開GitHub網站因為網絡原因導致加載失敗問題解決方案

Date: 2025.06.09 20:34:22 author: lijianzhan 在Windows系統中&#xff0c;打開GitHub網站因為網絡原因導致加載失敗問題解決方案 打開Windows系統下方搜索框&#xff0c;搜索Microsoft Store&#xff0c;并且雙擊打開 在應用里面搜索Watt Toolkit&#xff0c;并下載安裝 …

AI代碼助手需求說明書架構

AI代碼助手需求說明書架構 #mermaid-svg-6dtAzH7HjD5rehlu {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6dtAzH7HjD5rehlu .error-icon{fill:#552222;}#mermaid-svg-6dtAzH7HjD5rehlu .error-text{fill:#552222;s…

.NET開發主流框架全方位對比分析

文章目錄 1. ASP.NET Core核心特性代碼示例&#xff1a;基本控制器優勢劣勢 2. .NET MAUI核心特性代碼示例&#xff1a;基本頁面優勢劣勢 3. Blazor兩種托管模型核心特性代碼示例&#xff1a;計數器組件優勢劣勢 4. WPF (Windows Presentation Foundation)核心特性代碼示例&…

【系統架構設計師-2025上半年真題】案例分析-參考答案及部分詳解(回憶版)

更多內容請見: 備考系統架構設計師-專欄介紹和目錄 文章目錄 試題一(25分)【問題1】(12分)【問題2】(13分)試題二(25分)【問題1】(10分)【問題2】(6分)【問題3】(9分)試題三(25分)【問題1】(13分)【問題2】(8分)【問題3】(4分)試題四(25分)【問題1】(6分)【問題2】(12…

【中間件】Web服務、消息隊列、緩存與微服務治理:Nginx、Kafka、Redis、Nacos 詳解

Nginx 是什么&#xff1a;高性能的HTTP和反向代理Web服務器。怎么用&#xff1a;通過配置文件定義代理規則、負載均衡、靜態資源服務等。為什么用&#xff1a;提升Web服務性能、高并發處理、負載均衡和反向代理。優缺點&#xff1a;輕量高效&#xff0c;但動態處理能力較弱&am…

運動控制--小車的啟動和停止算法

一、現實問題 小車在啟動時由于受到慣性&#xff0c;后輪和前輪速度不一致&#xff0c;會引起車身不穩。 如小車上面裝的是水&#xff0c;會出現傾灑&#xff0c;體驗差。 二、數學研究 啟動時 停止時 急動度&#xff08;jerk) 三、BLDC控制與S型曲線的融合邏…

WebFuture:Ubuntu 系統上在線安裝.NET Core 8 的步驟

方法一&#xff1a;使用官方二進制包安裝 下載.NET Core 8 SDK 二進制包&#xff1a;訪問 .NET Core 8 SDK 官方下載頁面&#xff0c;根據你的系統架構選擇對應的 Linux x64 版本等下載鏈接&#xff0c;將其下載到本地4. 創建安裝目錄&#xff1a;在終端中執行以下命令創建用于…

可視化預警系統:如何實現生產風險的實時監控?

在生產環境中&#xff0c;風險無處不在&#xff0c;而傳統的監控方式往往只能事后補救&#xff0c;難以做到提前預警。但如今&#xff0c;可視化預警系統正在改變這一切&#xff01;它能夠實時收集和分析生產數據&#xff0c;通過直觀的圖表和警報&#xff0c;讓管理者第一時間…

深度解析 Linux 內核參數 net.ipv4.tcp_rmem:優化網絡性能的關鍵

文章目錄 引言一、認識 net.ipv4.tcp_rmem1. 最小值&#xff08;min&#xff09;2. 默認值&#xff08;default&#xff09;3. 最大值&#xff08;max&#xff09; 二、net.ipv4.tcp_rmem 的工作原理三、net.ipv4.tcp_rmem 的實際應用場景1. 高并發 Web 服務器2. 文件傳輸服務3…

Windmill:開源開發者基礎設施的革命者

前言 在企業內部,開發者經常需要構建各種內部工具來支持業務運營、數據分析和系統管理。這些工具通常需要前端界面、后端邏輯和工作流編排,開發過程繁瑣且耗時。今天要介紹的Windmill項目,正是為解決這一痛點而生,它讓構建內部工具變得簡單高效,堪稱開發者的得力助手。 …

國產化Excel處理組件Spire.XLS教程:用 Java 獲取所有 Excel 工作表名稱(圖文詳解)

在 Excel 中&#xff0c;工作表名稱通常能夠反映其用途或所含內容&#xff0c;提取這些名稱有助于理清整個工作簿的結構。對于新用戶或協作者來說&#xff0c;僅憑這些名稱就能快速掌握各表中的數據類型。本文將演示如何使用 Java 獲取 Excel 文件中的所有工作表名稱&#xff0…

day49python打卡

知識點回顧&#xff1a; 通道注意力模塊復習空間注意力模塊CBAM的定義 最近臨近畢業&#xff0c;事情有點多。如果有之前的基礎的話&#xff0c;今天的難度相對較低。 后面說完幾種模塊提取特征的組合方式后&#xff0c;會提供整理的開源模塊的文件。 現在大家已近可以去讀這類…

day27-shell編程(自動化)

1. 準備工具 添加到/etc/vimrc autocmd BufNewFile *.py,*.cc,*.sh,*.java,*.bash,Dockerfile,docker-compose.yml exec ":call SetTitle()"func SetTitle() if expand("%:e") ~ sh\|bash call setline(1,"#!/bin/bash")call setline(2, &quo…

【免殺】C2免殺技術(十五)shellcode混淆uuid/ipv6/mac

針對 shellcode 混淆(Shellcode Obfuscation) 的實戰手段還有很多,如下表所示: 類型舉例目的編碼 / 加密XOR、AES、RC4、Base64、Poly1305、UUID、IP/MAC改變字節特征,避開靜態簽名或 YARA結構偽裝PE Stub、GIF/PNG 嵌入、RTF OLE、UUID、IP/MAC看起來像合法文件/數據,弱…