Go學習:多重賦值與匿名變量

1. 變量的多重賦值

????????1.1 基本語法格式? ? ??

????????go語言中,可以將多個賦值語句 合并成 一句,比如:

a := 10
b := 20
c := 30//a,b,c三個變量的賦值語句可以簡練成以下格式a, b, c := 10, 20, 30

???????1.2?交換變量值? ? ??

? ? ? ? 當需要交換兩個變量的值時,在傳統方法中,需要引入中間變量temp,但是,在go語言中,變量值的交換可以簡化為以下格式:

i, j = j, i

????????該語法格式對 i,j 兩個變量的值進行了交換,j 的值賦給了 i,i 的值賦給了 j。?

例如以下代碼:

package main //必須有main包import "fmt"func main() {// a := 10// b := 20// c := 30a, b := 20, 30fmt.Println("1.傳統方法:")fmt.Printf("a = %d, b = %d\n", a, b)/*交換兩個變量的值*///1. 傳統方法: 引入中間變量 tmpvar tmp inttmp = aa = bb = tmpfmt.Printf("a = %d, b = %d\n", a, b)//2. go語言中語法 // i := 10// j := 20i, j := 10, 20 //將上面兩個賦值語句 合并成 一句fmt.Println("2. go語言中語法:")fmt.Printf("交換前:i = %d, j = %d\n", i, j)i, j = j, ifmt.Printf("交換后:i = %d, j = %d\n", i, j)}

2. 匿名變量的使用

????????_ :代表匿名變量,可以丟棄數據不處理,

? ? ? ? 注:_匿名變量配合函數返回值使用,才有優勢

package main //必須有main包import "fmt"// go函數可以返回多個返回值
func test() (a, b, c int) {return 1, 2, 3
}func main() {var tmp inti, j := 10, 20//匿名變量i = 10j = 20// _ :代表匿名變量,丟棄數據不處理, _匿名變量配合函數返回值使用,才有優勢tmp, _ = i, jfmt.Println("tmp = ", tmp)var c, d, e intc, d, e = test() //return 1, 2, 3fmt.Printf("c = %d, d = %d, e = %d\n", c, d, e)//只需要某一個值_, d, _ = test() //return 1, 2, 3fmt.Printf("d = %d\n", d)//需要某兩個值_, d, e = test() //return 1, 2, 3fmt.Printf("d = %d, e = %d\n", d, e)}

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

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

相關文章

Spring——依賴注入之p命名空間和c命名空間

p命名空間 其實就是Set注入 只不過p命名空間寫法更簡潔 p可以理解為 property標簽的首字母p p命名空間依賴于set方法 依賴引入 使用前需要再配置文件頭文件中引入p命名空間的依賴: ** xmlns:p“http://www.springframework.org/schema/p” ** 用法 在bean標簽…

HTML-多媒體標簽

除了圖像&#xff0c;網頁還可以放置視頻和音頻。 1.<video> <video>標簽是一個塊級元素&#xff0c;用于放置視頻。如果瀏覽器支持加載的視頻格式&#xff0c;就會顯示一個播放器&#xff0c;否則顯示<video>內部的子元素。 <video src"example.…

【Linux】Linux常見指令(上)

個人主頁~ 初識Linux 一、Linux基本命令1、ls指令2、pwd命令3、cd指令4、touch指令5、mkdir指令6、rmdir指令7、rm指令8、man指令9、cp指令10、mv命令 Linux是一個開源的、穩定的、安全的、靈活的操作系統&#xff0c;Linux下的操作都是通過指令來實現的 一、Linux基本命令 先…

【Vue.js 組件化】高效組件管理與自動化實踐指南

文章目錄 摘要引言組件命名規范與組織結構命名規范目錄組織 依賴管理工具自動化組件文檔生成構建自動引入和文檔生成的組件化體系代碼結構自動引入組件配置使用 Storybook 展示組件文檔自動生成 代碼詳解QA 環節總結參考資料 摘要 在現代前端開發中&#xff0c;組件化管理是 V…

Golang環境配置on Macbook Air M2

Golang環境配置on Macbook Air M2 你好Go配置環境變量驗證vscode插件安裝將文件夾添加到工作區并保存go包管理 你好Go 去官網下載go的對應版本 配置環境變量 新建配置文件 vim &#xff5e;/.bash_profile #注意號前后不能有空格 export GOPATH/Users/xxxx/xxxxx/Go_Works/…

【Arthas命令實踐】heapdump實現原理

&#x1f3ae; 作者主頁&#xff1a;點擊 &#x1f381; 完整專欄和代碼&#xff1a;點擊 &#x1f3e1; 博客主頁&#xff1a;點擊 文章目錄 使用原理 使用 dump java heap, 類似 jmap 命令的 heap dump 功能。 【dump 到指定文件】 heapdump arthas-output/dump.hprof【只 …

智能控制器開發項目-項目章程

目錄 1. 項目目的或理由 2. 項目描述 3. 高水平項目和產品需求 3.1項目需求&#xff1a; 3.2產品需求&#xff1a; 4. 總預算 5. 啟動風險 6.里程碑總表 7.項目目標與成功標準 8. 驗收標準 9. 項目經理職權層級 項目名稱&#xff1a;智能控制器開發項目 項目發起人…

繼承(補充)

大家好&#xff0c;今天補充一下繼承上執行順序的一點知識點&#xff0c;&#xff08;編者這兩天要完成學院任務可能有點敷衍&#xff0c;抱歉抱歉&#xff09;&#xff0c;那么我們來看看。 [繼承關系上的執行順序] 1、父類靜態代碼優先于子類靜態代碼塊執行,且是最早執行. …

IOMMU PT

什么是 IOMMU PT IOMMU PT&#xff08;Input/Output Memory Management Unit - Pass-Through&#xff09;是一種技術&#xff0c;主要用于虛擬化環境中&#xff0c;特別是在使用直接設備分配&#xff08;也稱為設備直通&#xff09;的情況下。這項技術允許虛擬機直接訪問物理硬…

如何解決HTML和CSS相關情況下會導致頁面布局不穩定?

在實際開發過程中&#xff0c;HTML 和 CSS 的布局可能會出現不穩定的情況&#xff0c;導致頁面顯示混亂、錯位或者不如預期。以下是一些常見原因及實際項目中的代碼示例&#xff0c;幫助你理解如何避免這些問題。 1. 浮動元素未清除 (float 未清除) 問題&#xff1a;使用浮動…

【Rust自學】11.5. 在測試中使用Result<T, E>

喜歡的話別忘了點贊、收藏加關注哦&#xff08;加關注即可閱讀全文&#xff09;&#xff0c;對接下來的教程有興趣的可以關注專欄。謝謝喵&#xff01;(&#xff65;ω&#xff65;) 11.5.1. 測試函數返回值為Result枚舉 到目前為止&#xff0c;測試運行失敗的原因都是因為觸…

【HTML+CSS+JS+VUE】web前端教程-16-HTML5新增標簽

擴展知識 div容器元素,也是頁面中見到的最多的元素 div實現

python學習筆記—16—數據容器之元組

1. 元組——tuple(元組是一個只讀的list) (1) 元組的定義注意&#xff1a;定義單個元素的元組&#xff0c;在元素后面要加上 , (2) 元組也支持嵌套 (3) 下標索引取出元素 (4) 元組的相關操作 1. index——查看元組中某個元素在元組中的位置從左到右第一次出現的位置 t1 (&qu…

設計模式-結構型-橋接模式

1. 什么是橋接模式&#xff1f; 橋接模式&#xff08;Bridge Pattern&#xff09; 是一種結構型設計模式&#xff0c;它旨在將抽象部分與實現部分分離&#xff0c;使它們可以獨立變化。通過這種方式&#xff0c;系統可以在抽象和實現兩方面進行擴展&#xff0c;而無需相互影響…

Linux 虛擬機與windows主機之間的文件傳輸--設置共享文件夾方式

Linux 虛擬機與windows主機之間的文件傳輸 設置共享文件夾方式 在虛擬機中打開終端查看是否已經新建完成&#xff0c;到文件夾中找到它看一下&#xff0c;這個位置就能存儲東西啦

關于linux網橋(Linux Bridge)的一些個人記錄

文章目錄 1. Linux Bridge簡述2. 網橋創建創建配置持久化在Debian/Ubuntu系統上&#xff1a;在CentOS/RHEL系統上&#xff1a; 啟用和驗證 3. 關于linux網橋不轉發ip幀的問題原因解決配置持久化 4. 查看網橋學習交換表手動添加或刪除條目添加條目刪除條目 配置靜態條目設置條目…

期末概率論總結提綱(僅適用于本校,看文中說明)

文章目錄 說明A選擇題1.硬幣2.兩個事件的關系 與或非3.概率和為14.概率密度 均勻分布5.聯合分布率求未知參數6.聯合分布率求未知參數7.什么是統計量&#xff08;記憶即可&#xff09;8.矩估計量9.117頁12題10.顯著水平阿爾法&#xff08;背公式就完了&#xff09; 判斷題11.事件…

Inno Setup制作安裝包,安裝給win加環境變量

加 ; 加環境變量&#xff0c;開啟&#xff0c;下面一行 ChangesEnvironmentyes 和 ; 加環境變量wbrj變量名&#xff0c;{app}\project\bin變量值&#xff0c;{app}\后接文件名&#xff0c;{app}表示安裝路徑。下面一行,{olddata};原來的值上拼接 Root: HKLM; Subkey: “SYSTEM\…

Golang學習筆記_23——error補充

Golang學習筆記_20——error Golang學習筆記_21——Reader Golang學習筆記_22——Reader示例 文章目錄 error補充1. 基本錯誤處理2. 自定義錯誤3. 錯誤類型判斷3.1 類型斷言3.2 類型選擇 4. panic && recover 源碼 error補充 1. 基本錯誤處理 在Go中&#xff0c;函數…

Python中的asyncio:高效的異步編程模型

隨著互聯網應用的快速發展&#xff0c;程序的響應性和處理效率成為衡量系統性能的重要指標。傳統的同步編程模型在面對高并發和IO密集型任務時&#xff0c;常常顯得捉襟見肘&#xff0c;難以滿足現代應用的需求。Python的asyncio庫作為一種高效的異步編程模型&#xff0c;為開發…