日韩性视频-久久久蜜桃-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常用手册:数组、变量作用域、函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 这里只有精品22 | 国产又色又爽又黄又免费 | v天堂在线观看 | 欧美综合自拍 | 蜜桃av噜噜一区二区三区 | 国内黄色一级片 | 黄色片网站在线播放 | 欧美一区二区在线 | 亚洲熟妇无码乱子av电影 | a级片久久 | 国产电影一区在线观看 | 午夜小视频在线播放 | 深夜视频一区二区三区 | 国产一二三在线视频 | 美女隐私免费 | 青青国产在线观看 | 亚洲经典一区二区 | 日韩精品免费在线观看 | 午夜影院私人 | 久久精品操 | 欧美成人精品一区二区综合免费 | 99人妻少妇精品视频一区 | 色网站在线| 狠狠香蕉| 永久av在线 | 国产精品黑人一区二区三区 | 国产一区二区三区四区五区 | 在线观看成人小视频 | 中文字幕 亚洲一区 | 国产成人精品一区二区三区在线 | 少妇一边呻吟一边说使劲视频 | 少妇无套内谢久久久久 | 神马影院一区二区 | 91n在线观看 | 中国丰满人妻videoshd | 看一级片| 成年人网站免费观看 | 国产精品成人电影在线观看 | 国产超碰人人爽人人做人人爱 | 福利在线免费视频 | 中文字幕少妇在线三级hd | 男ji大巴进入女人的视频 | 亚洲一区 在线播放 | 欧美二级片 | 国产精品日本一区二区在线播放 | 亚洲精品白浆高清久久久久久 | 国产网址在线 | 久久爰| 激情视频在线观看免费 | av一区二区不卡 | 国产精品久久免费 | free性欧美69巨大 | 国产人妖一区二区 | 羞羞答答av| 天天cao在线 | 成人做爰69片免费 | 日本精品在线观看 | 天天干人人 | 国产精品日韩在线 | 亚洲色偷偷色噜噜狠狠99网 | 姐姐av| 女人免费视频 | 奇米影视777在线观看 | 国产女厕一区二区三区在线视 | 在线观看h网站 | 91免费观看视频 | 欧美极品视频在线观看 | 精品香蕉一区二区三区 | av首页在线观看 | 国产麻豆电影在线观看 | 国产不卡精品视频 | 免费99精品国产自在在线 | 麻豆国产一区二区三区 | 日韩a在线观看 | 黄色一及毛片 | 日韩在线视频免费看 | 欧美成人一区在线观看 | 精品国产一二三四区 | 久久尤物视频 | 日韩a√ | 日韩丰满少妇无码内射 | 午夜国产一级 | 免费av黄色 | 久久精品在这里 | 久久福利影视 | www.白虎 | 亚洲激情欧美 | 天堂素人| 日韩视频在线观看视频 | 成人黄色在线播放 | 国产大屁股喷水视频在线观看 | 激情视频在线观看免费 | 久久精品超碰 | 国产亚洲精品精品国产亚洲综合 | 99一区二区三区 | av影视天堂 | 中文字幕理伦片免费看 | 欧美伦理一区二区三区 | 丰满岳跪趴高撅肥臀尤物在线观看 |