AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

Golang 中函數(shù)(Function)和方法(Method)的區(qū)別詳解

來源: 責(zé)編: 時(shí)間:2023-11-30 09:30:02 272觀看
導(dǎo)讀在 Golang 中,大家必然會頻繁使用到函數(shù)(Function)和方法(Method),但是有的同學(xué)可能并沒有注意過函數(shù)和方法的異同點(diǎn),函數(shù)(Function)和方法(Method)都是用來執(zhí)行特定任務(wù)的代碼塊,雖然很相似,但也有很大的區(qū)別。本文將詳細(xì)講解函數(shù)

Ezx28資訊網(wǎng)——每日最新資訊28at.com

在 Golang 中,大家必然會頻繁使用到函數(shù)(Function)和方法(Method),但是有的同學(xué)可能并沒有注意過函數(shù)和方法的異同點(diǎn),函數(shù)(Function)和方法(Method)都是用來執(zhí)行特定任務(wù)的代碼塊,雖然很相似,但也有很大的區(qū)別。本文將詳細(xì)講解函數(shù)和方法的定義以及它們的異同點(diǎn)。Ezx28資訊網(wǎng)——每日最新資訊28at.com

函數(shù)(Function)

函數(shù)是 Golang 程序的基本組成部分之一,是一段獨(dú)立的代碼塊,可以被獨(dú)立地定義和調(diào)用。函數(shù)的定義以 func 關(guān)鍵字開始,后面跟著函數(shù)名、參數(shù)列表、返回值類型和函數(shù)體。看一個(gè)簡單的函數(shù)定義示例:Ezx28資訊網(wǎng)——每日最新資訊28at.com

func add(a b int) int {    return a + b}

函數(shù)的調(diào)用方式是通過函數(shù)名和參數(shù)列表完成的。例如:Ezx28資訊網(wǎng)——每日最新資訊28at.com

result := add(2, 3)

函數(shù)的其他更多特點(diǎn)和類型就不展開講了,不是本文的重點(diǎn)。本文只簡單介紹下函數(shù)的基本定義,重點(diǎn)是說明函數(shù)和方法的異同點(diǎn)。Ezx28資訊網(wǎng)——每日最新資訊28at.com

方法(Method)

方法是與特定類型(結(jié)構(gòu)體類型、函數(shù)類型、接口類型等)相關(guān)聯(lián)的函數(shù)。是在類型的定義之外定義的,但與該類型緊密關(guān)聯(lián)。方法的定義類似于函數(shù),但在函數(shù)名之前會添加一個(gè)接收者(receiver),指定方法屬于哪個(gè)類型。以下是一個(gè)簡單的方法示例:Ezx28資訊網(wǎng)——每日最新資訊28at.com

type Rectangle struct {    width  float64    height float64}// 定義 Area 方法func (r Rectangle) Area() float64 {    return r.width * r.height}

首先定義了一個(gè)名為 Rectangle 的結(jié)構(gòu)體類型,然后定義了一個(gè)名為 Area 的方法,該方法接收一個(gè) Rectangle 類型的接收者。Ezx28資訊網(wǎng)——每日最新資訊28at.com

方法的調(diào)用與函數(shù)類似,但需要先實(shí)例化一個(gè)對應(yīng)的接收者類型的實(shí)例,通過這個(gè)實(shí)例調(diào)用的方式來執(zhí)行。例如:Ezx28資訊網(wǎng)——每日最新資訊28at.com

rect := Rectangle{width: 3, height: 4}area := rect.Area()

這段代碼首先創(chuàng)建了一個(gè) Rectangle 類型的實(shí)例,然后通過這個(gè)實(shí)例調(diào)用了 Area 方法。Ezx28資訊網(wǎng)——每日最新資訊28at.com

可以看出,方法是通過接收者與類型綁定的,因此可以在方法內(nèi)部訪問接收者類型的字段和方法。而函數(shù)則是獨(dú)立存在的,沒有與特定類型相關(guān)聯(lián)。Ezx28資訊網(wǎng)——每日最新資訊28at.com

小結(jié)

函數(shù)和方法都是用來執(zhí)行特定任務(wù)的代碼塊,定義和使用都非常類似,主要有兩點(diǎn)不同:Ezx28資訊網(wǎng)——每日最新資訊28at.com

  • 函數(shù)是獨(dú)立存在的,而方法是與特定類型相關(guān)聯(lián)的;
  • 函數(shù)可以直接調(diào)用,而方法調(diào)用需要通過對應(yīng)的接收者類型實(shí)例。

本文鏈接:http://www.tebozhan.com/showinfo-26-35328-0.htmlGolang 中函數(shù)(Function)和方法(Method)的區(qū)別詳解

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: DDIA:一文帶你了解“兩階段提交”

下一篇: JavaScript中的異步處理你知道哪些方法?你用對了嗎?

標(biāo)簽:
  • 熱門焦點(diǎn)
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價(jià)

    雖然沒有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會補(bǔ)貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機(jī)在停產(chǎn)之后
  • 《英雄聯(lián)盟》夏季賽總決賽今日開打!JDG對陣LNG首發(fā)名單來了 Knight:準(zhǔn)備三連冠

    8月5日消息,今日17:00,《英雄聯(lián)盟》2023LPL夏季賽總決賽將正式開打,由JDG對陣LNG。對兩支隊(duì)伍來說,這場比賽不僅要爭奪夏季賽冠軍,更要決定誰才是LPL賽區(qū)一
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數(shù)量是否小于或等于一個(gè)數(shù)字。例如,一個(gè)擁有三個(gè)或更多子項(xiàng)的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個(gè)組件或一個(gè)布局可能會
  • 之家push系統(tǒng)迭代之路

    前言在這個(gè)信息爆炸的互聯(lián)網(wǎng)時(shí)代,能夠及時(shí)準(zhǔn)確獲取信息是當(dāng)今社會要解決的關(guān)鍵問題之一。隨著之家用戶體量和內(nèi)容規(guī)模的不斷增大,傳統(tǒng)的靠"主動拉"獲取信息的方式已不能滿足用
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法。可以用來發(fā)現(xiàn)應(yīng)用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • 雅柏威士忌多款單品價(jià)格大跌,泥煤頂流也不香了?

    來源 | 烈酒商業(yè)觀察編 | 肖海林今年以來,威士忌市場開始出現(xiàn)了降溫跡象,越來越多不斷暴漲的網(wǎng)紅威士忌也開始悄然回歸市場理性。近日,LVMH集團(tuán)旗下蘇格蘭威士忌品牌雅柏(Ardbeg
  • 三星獲批量產(chǎn)iPhone 15全系屏幕:蘋果史上最驚艷直屏

    按照慣例,蘋果將繼續(xù)在今年9月舉辦一年一度的秋季新品發(fā)布會,有傳言稱發(fā)布會將于9月12日舉行,屆時(shí)全新的iPhone 15系列將正式與大家見面,不出意外的話
  • iQOO 11S評測:行業(yè)唯一的200W標(biāo)準(zhǔn)版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強(qiáng)機(jī),該機(jī)不僅全球首發(fā)2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • 聯(lián)想YOGA 16s 2022筆記本將要推出,屏幕支持觸控功能

    聯(lián)想此前宣布,將于11月2日19:30召開聯(lián)想秋季輕薄新品發(fā)布會,推出聯(lián)想 YOGA 16s 2022 筆記本等新品。官方稱,YOGA 16s 2022 筆記本將搭載 16 英寸屏幕,并且是一
Top