亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    go語(yǔ)言的形參占用內(nèi)存嗎

    形參變量在未出現(xiàn)函數(shù)調(diào)用時(shí)并不占用內(nèi)存,只在調(diào)用時(shí)才占用,調(diào)用結(jié)束后將釋放內(nèi)存。形參全稱“形式參數(shù)”,是函數(shù)定義時(shí)使用的參數(shù);但函數(shù)定義時(shí)參數(shù)是沒有任實(shí)際何數(shù)據(jù)的,因而在函數(shù)被調(diào)用前沒有為形參分配內(nèi)存,其作用是說明自變量的類型和形態(tài)以及在過程中的作用。

    go語(yǔ)言的形參占用內(nèi)存嗎

    本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

    函數(shù)是組織好的、可重復(fù)使用的、用來實(shí)現(xiàn)單一或相關(guān)聯(lián)功能的代碼段,其可以提高應(yīng)用的模塊性和代碼的重復(fù)利用率。

    函數(shù)定義和函數(shù)調(diào)用

    函數(shù)構(gòu)成了代碼執(zhí)行的邏輯結(jié)構(gòu),在Go語(yǔ)言中,函數(shù)的基本組成為:關(guān)鍵字 func、函數(shù)名、參數(shù)列表、返回值、函數(shù)體和返回語(yǔ)句,每一個(gè)程序都包含很多的函數(shù),函數(shù)是基本的代碼塊。

    定義語(yǔ)法:

    func 函數(shù)名(形參列表)(返回值類型列表) {   函數(shù)體,通常會(huì)有return語(yǔ)句,返回值 }
    登錄后復(fù)制

    • 函數(shù)名:函數(shù)的標(biāo)識(shí)符,用于找到函數(shù),內(nèi)部是一個(gè)指向函數(shù)代碼的地址。

    • 形參列表:由變量和類型構(gòu)成

    • 返回值類型列表:函數(shù)返回值的類型,多個(gè)返回值需要指定多個(gè)。

    • 函數(shù)體:實(shí)現(xiàn)函數(shù)功能的具體語(yǔ)句。 return語(yǔ)句:返回值語(yǔ)句

    函數(shù)調(diào)用語(yǔ)法:

    函數(shù)名(實(shí)參列表)
    登錄后復(fù)制

    函數(shù)參數(shù)

    用于在調(diào)用函數(shù)時(shí)向函數(shù)傳遞數(shù)據(jù)。

    • 實(shí)參,實(shí)際參數(shù)。調(diào)用時(shí)給的參數(shù)。指的是具有的特定實(shí)際數(shù)據(jù)的參數(shù)。

    • 形參,形式參數(shù)。定義時(shí)使用的參數(shù)。指的是用來表示函數(shù)需要參數(shù),而定義時(shí)參數(shù)是沒有任實(shí)際何數(shù)據(jù)的。 函數(shù)/方法在被調(diào)用前沒有為他們分配內(nèi)存,其作用是說明自變量的類型和形態(tài)以及在過程中的作用。

      實(shí)參與形參的關(guān)系:形參只能是變量(要指明它的數(shù)據(jù)類型);實(shí)參可以是變量、常量或者表達(dá)式。

      實(shí)參與形參的個(gè)數(shù)、位置以及它們對(duì)應(yīng)的數(shù)據(jù)類型應(yīng)當(dāng)一致。

    當(dāng)調(diào)用時(shí)會(huì)發(fā)生使用實(shí)參為形參變量賦值的過程,稱為參數(shù)的傳遞。在函數(shù)的執(zhí)行期間,形參是有具體數(shù)據(jù)的,形參當(dāng)于函數(shù)內(nèi)聲明的變量。參數(shù)的傳遞,分為值傳遞,地址傳遞兩種方式。地址傳遞時(shí),需要形參定義為指針類型,調(diào)用時(shí)需要取得地址傳參。

    • 調(diào)用函數(shù)時(shí)若出現(xiàn)實(shí)參是數(shù)組名,則傳遞給形參的時(shí)數(shù)組的首地址。

    • 實(shí)參傳遞給形參是單向傳遞。形參變量在未出現(xiàn)函數(shù)調(diào)用時(shí)并不占用內(nèi)存,只在調(diào)用時(shí)才占用。調(diào)用結(jié)束后將釋放內(nèi)存。

    示例代碼:

    func funcTest(p1 int, p2 *int) {   p1++   *p2++   fmt.Println(p1, *p2) } func main() {   var (     a1 = 42     a2 = 42   )   funcTest(a1, &a2)   // 參數(shù)賦值過程   fmt.Println(a1, a2) }
    登錄后復(fù)制

    以上會(huì)輸出

    43 43 42 43
    登錄后復(fù)制

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)