日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

golang常用手册:数组、变量作用域、函数

發布時間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang常用手册:数组、变量作用域、函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習是一個趁熱打鐵的過程,高效的學習能提高大腦反應。所以我們接著了解go語言的數組、變量作用域、函數。

數組

  • 和其他語言申明類似:var variable_name [SIZE] variable_type
  • 所有數據的數據類型相同且唯一
  • 數據長度固定且不可更改
  • 通過位置獲取元素

我們可以看看一小段代碼:

//定義名稱為balance長度為10的float32數組 var balance [10] float32//初始化 balance = {1000.0, 2.0, 3.4, 7.0, 50.0}//當然下面這樣直接申明和初始化 var balance = [10]float32{1000.0, 2.0, 3.4, 7.0, 50.0}//如果忽略 [] 中的數字不設置數組大小,Go 語言會根據元素的個數來設置數組的大小: var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}//多維數組格式: var variable_name [SIZE1][SIZE2]...[SIZEN] variable_type var a = [3][4]int{ {0, 1, 2, 3} , /* 第一行索引為 0 */{4, 5, 6, 7} , /* 第二行索引為 1 */{8, 9, 10, 11} /* 第三行索引為 2 */ } 復制代碼

變量作用域

正如我們了解的其他語言一樣,go一樣存在了變量以及他的作用域。同樣的,跟我們以往的了解一樣,go的變量作用域有以下幾點:

  • 局部變量(在函數中申明的變量。作用域只在函數體內,參數和返回值變量也是局部變量)
    • 形式參數(函數參數)
  • 全局變量(在函數外申明的變量)
package mainimport "fmt"/* 聲明全局變量 */ var g intfunc main() {/* 聲明局部變量 */var a, b int/* 初始化參數 */a = 10b = 20g = a + bfmt.Printf("結果: a = %d, b = %d and g = %d\n", a, b, g) } 復制代碼

注意:go語言中局部變量和全局變量可以同名,但是函數中會悠閑考慮同名的局部變量。

函數

和其他任何語言一樣,go語言一樣存在函數,函數固定格式如下:

func function_name( [parameter list] ) [return_types] {函數體 } 復制代碼

func是函數申明標志,function_name是函數名稱,當然函數參數和函數返回值都是可以沒有的。

需要注意的是,go語言可以有多個返回值:

package mainimport "fmt"func swap(x, y string) (string, string) {return y, x }func main() {a, b := swap("Mahesh", "Kumar")fmt.Println(a, b) } 復制代碼

函數參數傳遞方式(和C語言類似):

  • 值傳遞
    • 將需要傳遞的數據拷貝一份并賦值給被調用函數的參數
  • 引用傳遞
    • 在調用函數的時候把數據的內存地址傳遞過去,在函數中依據地址對數據進行修改將會影響實際值。(和c語言中的指針操作一樣)

函數的用法:

  • 作為數據值使用(不推薦,一定層面上降低了可讀性)
  • 閉包:匿名函數,可在動態編程中使用
  • 方法:包含了接受者的函數,接受者可以是命名類型或者結構體類型的一個值或者是一個指針。所有給定類型的方法屬于該類型的方法集。
    • 語法:func (variable_name variable_data_type) function_name() [return_type]{···}

關于方法的demo我們參考下菜鳥教程:

package mainimport ("fmt" )/* 定義函數 */ type Circle struct {radius float64 }func main() {var c1 Circlec1.radius = 10.00fmt.Println("Area of Circle(c1) = ", c1.getArea()) }//該 method 屬于 Circle 類型對象中的方法 func (c Circle) getArea() float64 {//c.radius 即為 Circle 類型對象中的屬性return 3.14 * c.radius * c.radius } 復制代碼

總結

go語言有著和其他語言的共性,均有數組、變量作用域、函數等基本概念。

其中數組和其他語言的操作方式基本相同,變量作用域也是一樣的效果,唯一值得注意的是局部變量和全局變量同名時,在方法中優先考慮局部變量。

函數,其實也是我們java中說的方法,但是go語言中的方法則是有指明 接受者 的函數。


如果你認可我所做的事情,并且認為我做的事對你有一定的幫助,希望你也能打賞我一杯咖啡,謝謝。

總結

以上是生活随笔為你收集整理的golang常用手册:数组、变量作用域、函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产又粗又猛又爽又黄91精品 | 麻豆乱码国产一区二区三区 | 四虎免费观看 | 激情都市一区二区 | 欧美aaaaaaaaa | 中文字幕一区二 | 天天操天天干天天爽 | 亚洲黄网av| 黄色链接视频 | 国产一区二区三区在线观看免费 | 色久阁 | 激情欧美一区 | 中文字幕人妻精品一区 | 最近更新中文字幕 | 午夜精品一区二区三区在线观看 | 精品一区二区三区蜜桃 | 日本伊人影院 | 光明影院手机版在线观看免费 | 成人欧美视频在线观看 | 毛片视频免费播放 | 中文字幕乱码在线 | 亚洲丝袜在线视频 | 在线观看一二三区 | 日本一区二区精品视频 | av制服丝袜在线 | 精品国产aⅴ麻豆 | 国产资源第一页 | 99久久精品国产成人一区二区 | 亚洲无人区码一码二码三码的含义 | 日韩一级片在线 | 污污动态图 | 男女啪啪网站免费 | 久久久久久999 | 国产精品中文 | 国产精品成人一区二区三区 | 男女午夜影院 | 国产精品五月天 | 亚洲七区| 久久免费电影 | 国产精品国产一区二区三区四区 | 国产精品久久久久久亚洲影视 | 久久天堂电影 | 日韩在线免费视频观看 | 射死你天天日 | 亚洲综合网站 | 日韩制服诱惑 | 台湾无码一区二区 | 91aaaa| 国产一级性生活 | 成人网站免费观看 | 亚洲精品911| 国产一区二区三区在线观看 | 亚洲影院一区二区三区 | 亚洲视频在线一区二区 | 毛片一区| 国产aa| 久久丝袜视频 | 有码视频在线观看 | jizzjizz免费 | 美日韩一区二区三区 | 在线观看中文字幕一区二区 | 日本a一级片 | 黄色国产在线播放 | 亚洲精品成人区在线观看 | 91视频大全 | 羞羞动漫免费观看 | 888奇米影视 | 国产又粗又黄又爽又硬的视频 | 97超视频在线观看 | 日韩一区在线看 | 成人理论影院 | 日韩理论片在线观看 | 亚洲午夜激情 | 天天操精品 | 国产日韩欧美91 | 日本黄色小视频 | 国产精品边吃奶边做爽 | 一极毛片 | 国产欧美高清 | www.自拍偷拍| 自拍日韩亚洲一区在线 | 国产又粗又黄又爽视频 | 正在播放亚洲 | 操bbbbb | 美女啪啪一区二区 | a级片在线观看视频 | 蜜臀av中文字幕 | 操操操操操操操操操操 | 国产激情一区二区三区在线观看 | 日韩免费在线观看 | 每日更新在线观看av | 亚洲草逼视频 | 奇米在线777 | 久久精品视频1 | 久久a级片| 国产l精品国产亚洲区久久 午夜青青草 | 亚洲免费国产视频 | 波多野结衣有码 | 女性生殖扒开酷刑vk |