久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Go 語言中的函數

本文來介紹 Go 語言中的函數。Go 語言的函數和其它語言的用法類似,但是 Go 語言中所有東西都是變量,包括函數,函數在 Go 語言中也是變量的一種,所以函數名的命名規則和變量名相同,同時這個和我們后面要講解的函數式編程有關,目前本文僅介紹 Go 語言中函數的聲明使用

 

1. 函數的定義和使用

Go 語言中,通過?func?關鍵字來聲明和定義函數。Go 語言和 C 語言不同,Go 語言函數的聲明和定義是一起的,不存在先聲明在定義,且聲明時不分前后均可互相調用

代碼示例

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func print(s string) {
  • 6? ? ? ? fmt.Println(s)
  • 7? }
  • 8
  • 9? func main() {
  • 10? ? ? ? print("Hello Codey !")
  • 11
  • 12? }
  • 第 5 行:聲明并定義一個名叫 print 的函數,函數接收一個 string 類型的參數;
  • 第 6 行:函數體。一個輸出接收進來參數的值的語句;
  • 第 9 行:聲明并定義了一個叫main的函數。Go 語言中程序的入口就時 main 函數,所有的程序都以main 函數作為入口;
  • 第 10 行:調用 print 函數,傳入參數"Hello Codey !"。

執行結果

圖片描述

 

2. 函數的返回值

Go 語言的函數的返回值也有些特殊,它可以一次返回**多個返回值,**Go 語言中如果是單返回值,可以直接在函數聲明的括號后面增加數據類型,代碼示例如下:

代碼塊
  • 1? func Sum(a, b int) int //聲明并定義一個返回值為int數據類型的函數

若要返回多個返回值,則需要用括號包裹返回值,并使用,隔開所有返回值,代碼示例如下:

代碼塊
  • 1? func Sum(a, b int) (int,string) //聲明并定義一個返回值為int和string數據類型的函數

返回的方式有兩種。一種是用?return?關鍵字加返回值直接返回,一種是聲明返回值變量,使用返回值變量直接返回。

 

2.1 使用 return+ 返回值返回

和其它語言不同的是,Go 語言可以一次返回多個值,多個值直接跟在?return?關鍵字之后,使用,隔開即可。

代碼示例

代碼塊
  • 1? package main
  • 2
  • 3 ?import "fmt"
  • 4
  • 5? func SumAndProduct(a, b int) (int, int) {
  • 6? ? ? ? ? c := a + b
  • 7? ? ? ? ??d := a * b
  • 8? ? ? ? ? return c, d //同時返回c和d兩個變量
  • 9? }
  • 10
  • 11? func main() {
  • 12? ? ? ? ? sum, product := SumAndProduct(1, 2) //接收多返回值的函數時,也需要用逗號隔開變量
  • 13? ? ? ? ? fmt.Println("a + b =", sum)
  • 14? ? ? ? ? fmt.Println("a * b =", product)
  • 15? }

執行結果

圖片描述

 

2.2 使用返回值變量返回

Go 語言還能直接在返回值處聲明變量,這個變量的作用域是整個函數,并且會在?return?的時候直接返回。

代碼示例

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func SumAndProduct(a, b int) (c int, d int) {
  • 6? ? ? ? ? c = a + b //因為c和d函數返回值處已經定義了,可以直接使用
  • 7? ? ? ? ? d = a * b
  • 8? ? ? ? ? return //直接返回,c和d自動傳出去
  • 9? }
  • 10
  • 11? func main() {
  • 12? ? ? ? ? sum, product := SumAndProduct(1, 2) //接收多返回值的函數時,也需要用逗號隔開變量
  • 13? ? ? ? ? fmt.Println("a + b =", sum)
  • 14? ? ? ? ? fmt.Println("a * b =", product)
  • 15? }

執行結果

圖片描述

 

3. 小結

本文主要介紹了 Go 語言中函數的定義和使用。主要就是和其它語言比起來,Go 語言的函數更加強大,能夠多參數返回,返回值更是能直接寫做變量,且作用域為整個函數。

文章來源于網絡,侵刪!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 栾川县| 定远县| 南木林县| 绥宁县| 平远县| 新河县| 沭阳县| 忻州市| 虹口区| 武强县| 平谷区| 曲松县| 瑞金市| 大庆市| 武冈市| 泊头市| 长丰县| 昌宁县| 米脂县| 丰台区| 潞城市| 天台县| 连平县| 定日县| 弥渡县| 桂林市| 武城县| 沛县| 井陉县| 青龙| 湘阴县| 乌拉特中旗| 白城市| 泸定县| 沐川县| 广水市| 财经| 德惠市| 永顺县| 武宣县| 仁怀市|