真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Go語言中的普通的函數(shù)

本篇內容主要講解“如何使用Go語言中的普通的函數(shù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Go語言中的普通的函數(shù)”吧!

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,潞城企業(yè)網(wǎng)站建設,潞城品牌網(wǎng)站建設,網(wǎng)站定制,潞城網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,潞城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

普通函數(shù)

在 Go 語言中普通函數(shù)的定義格式為 func [函數(shù)名](入?yún)?(出參),如下:

func callFuncA(x, y string) (s string, err error) {  return x + y, nil }  func main() {  callFuncA("炸", "煎魚") }

在示例代碼中聲明了一個函數(shù)名為 callFuncA 的方法,他只允許在包內調用,因此首字母為小寫。

其具有兩個入?yún)?,分別是 x 和 y,類型都為 string。而出參為變量 s 和 err,類型分別為 string 和 error。

另外在函數(shù)體內返回值時,也可以采用快捷返回的方式:

func callFuncA(x, y string) (s string, err error) {  s = x + y  return }

在出參時所聲明的變量名稱,是可以應用到自身函數(shù)的。因此若直接執(zhí)行 return 則會隱式返回已經(jīng)聲明的出參變量。

在函數(shù)定義時,其入?yún)⑦€支持可變參數(shù)的語法:

func callFuncA(x ...string) (s string, err error) {  s = strings.Join(x, ",")  return }  func main() {  fmt.Println(callFuncA("炸", "煎魚")) }

在入?yún)⒆兞可下暶鳛?x ...string,則表示變量 x 是 string 類型的可變變量,能夠在入?yún)r傳入多個 string 參數(shù)。

可變變量所傳入的格式為切片(slice)類型,該類型我們會在后面的章節(jié)進行講解,你可以理解為不受長度限制的動態(tài)數(shù)組:

[0: 炸 1: 煎魚]

一般對可變變量的常見后續(xù)操作多是循環(huán)遍歷處理,又或是進行拼接等操作。

匿名函數(shù)

Go 語言也默認支持匿名函數(shù)的聲明,聲明的方式與普通函數(shù)幾乎一樣:

func main() {  s := func(x, y string) (s string, err error) {   return x + y, nil  }   s("炸", "煎魚") }

匿名函數(shù)可以在任意地方聲明,且不需要定義函數(shù)名,如果在函數(shù)體后馬上跟 () 則表示聲明后立即執(zhí)行:

func main() {  s, _ := func(x, y string) (s string, err error) {   return x + y, nil  }("炸", "煎魚") }

而在所有的函數(shù)類使用中,有一點非常重要,那就是函數(shù)變量作用域的理解:

func main() {  x, y := "炸", "煎魚"  s, _ := func() (s string, err error) {   return x + y, nil  }()  fmt.Println(s) }

該匿名函數(shù)沒有形參,函數(shù)內部沒有定義相應的變量,此時其讀取的是全局的 x、y 變量的值,輸出結果是 “炸煎魚”。

func main() {  x, y := "炸", "煎魚"  _, _ = func(x, y string) (s string, err error) {   x = "吃"   return x + y, nil  }(x, y)  fmt.Println(x, y) }

該匿名函數(shù)有形參,但是在函數(shù)內部又重新賦值了變量 x。那么最終外部所輸出的變量 x 的值是什么呢?輸出結果是 “炸 煎魚”。

為什么明明在函數(shù)內已經(jīng)對變量 x 重新賦值,卻依然沒有改變全局變量 x 的值呢?

其本質原因是作用域不同,函數(shù)內部所修改的變量 x 是函數(shù)內的局部變量。而外部的是全局的變量,所歸屬的作用域不同。

結構方法

在結合結構體(struct)的方式下,可以聲明歸屬于該結構體下的方法:

type T struct{}  func NewT() *T {  return &T{} }  func (t *T) callFuncA(x, y string) (s string, err error) {  return x + y, nil }  func main() {  NewT().callFuncA("炸", "煎魚") }

具體的函數(shù)的使用方法與普通函數(shù)一樣,無其他區(qū)別。

而與結構體有關的值傳遞、引用傳遞的方法調用將在具體后面的章節(jié)再展開。

內置函數(shù)

Go 語言本身有支持一些內置函數(shù),這些內置函數(shù)的調用不需要引用第三方標準庫。內置函數(shù)的作用是用于配合 Go 語言的常規(guī)使用,數(shù)量非常少。如下:

  • 用于獲取某些類型的長度和容量:len、cap。

  • 用于創(chuàng)建并分配某些類型的內存:new、make。

  • 用于錯誤處理機制(異??只?、異常捕獲):panic、recover。

  • 用于復制和新增切片(slice):copy、append。

  • 用于簡單輸出信息:print、println。

  • 用于處理復數(shù):complex、real、imag。

針對每個內置函數(shù)的真實使用場景,我們會在后續(xù)的章節(jié)再進一步展開,因為每個內置函數(shù)本質上都對應著各類型的使用場景。

到此,相信大家對“如何使用Go語言中的普通的函數(shù)”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


網(wǎng)頁標題:如何使用Go語言中的普通的函數(shù)
本文路徑:http://weahome.cn/article/ggsiji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部