您好,登錄后才能下訂單哦!
本篇內容主要講解“go語言的形參是否占用內存”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“go語言的形參是否占用內存”吧!
形參變量在未出現函數調用時并不占用內存,只在調用時才占用,調用結束后將釋放內存。形參全稱“形式參數”,是函數定義時使用的參數;但函數定義時參數是沒有任實際何數據的,因而在函數被調用前沒有為形參分配內存,其作用是說明自變量的類型和形態以及在過程中的作用。
函數是組織好的、可重復使用的、用來實現單一或相關聯功能的代碼段,其可以提高應用的模塊性和代碼的重復利用率。
函數定義和函數調用
函數構成了代碼執行的邏輯結構,在Go語言中,函數的基本組成為:關鍵字 func、函數名、參數列表、返回值、函數體和返回語句,每一個程序都包含很多的函數,函數是基本的代碼塊。
定義語法:
func 函數名(形參列表)(返回值類型列表) {
函數體,通常會有return語句,返回值
}
函數名:函數的標識符,用于找到函數,內部是一個指向函數代碼的地址。
形參列表:由變量和類型構成
返回值類型列表:函數返回值的類型,多個返回值需要指定多個。
函數體:實現函數功能的具體語句。 return語句:返回值語句
函數調用語法:
函數名(實參列表)
函數參數
用于在調用函數時向函數傳遞數據。
實參,實際參數。調用時給的參數。指的是具有的特定實際數據的參數。
形參,形式參數。定義時使用的參數。指的是用來表示函數需要參數,而定義時參數是沒有任實際何數據的。 函數/方法在被調用前沒有為他們分配內存,其作用是說明自變量的類型和形態以及在過程中的作用。
實參與形參的關系:形參只能是變量(要指明它的數據類型);實參可以是變量、常量或者表達式。
實參與形參的個數、位置以及它們對應的數據類型應當一致。
當調用時會發生使用實參為形參變量賦值的過程,稱為參數的傳遞。在函數的執行期間,形參是有具體數據的,形參當于函數內聲明的變量。參數的傳遞,分為值傳遞,地址傳遞兩種方式。地址傳遞時,需要形參定義為指針類型,調用時需要取得地址傳參。
調用函數時若出現實參是數組名,則傳遞給形參的時數組的首地址。
實參傳遞給形參是單向傳遞。形參變量在未出現函數調用時并不占用內存,只在調用時才占用。調用結束后將釋放內存。
示例代碼:
func funcTest(p1 int, p2 *int) {
p1++
*p2++
fmt.Println(p1, *p2)
}
func main() {
var (
a1 = 42
a2 = 42
)
funcTest(a1, &a2)
// 參數賦值過程
fmt.Println(a1, a2)
}
以上會輸出
43 43
42 43
到此,相信大家對“go語言的形參是否占用內存”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。