亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

Go語言中函數的參數傳遞與調用的基本方法

2020-04-01 19:12:27
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Go語言中函數的參數傳遞與調用的基本方法,是golang入門學習中的基礎知識,需要的朋友可以參考下
 

按值傳遞函數參數,是拷貝參數的實際值到函數的形式參數的方法調用。在這種情況下,參數在函數內變化對參數不會有影響。

默認情況下,Go編程語言使用調用通過值的方法來傳遞參數。在一般情況下,這意味著,在函數內碼不能改變用來調用所述函數的參數??紤]函數swap()的定義如下。

復制代碼代碼如下:

/* function definition to swap the values */
func swap(int x, int y) int {
   var temp int

 

   temp = x /* save the value of x */
   x = y    /* put y into x */
   y = temp /* put temp into y */

   return temp;
}


現在,讓我們通過使實際值作為在以下示例調用函數swap():
復制代碼代碼如下:

 package main

 

import "fmt"

func main() {
   /* local variable definition */
   var a int = 100
   var b int = 200

   fmt.Printf("Before swap, value of a : %d/n", a )
   fmt.Printf("Before swap, value of b : %d/n", b )

   /* calling a function to swap the values */
   swap(a, b)

   fmt.Printf("After swap, value of a : %d/n", a )
   fmt.Printf("After swap, value of b : %d/n", b )
}
func swap(x, y int) int {
   var temp int

   temp = x /* save the value of x */
   x = y    /* put y into x */
   y = temp /* put temp into y */

   return temp;
}


讓我們把上面的代碼放在一個C文件,編譯并執行它,它會產生以下結果:
  1. Before swap, value of a :100 
  2. Before swap, value of b :200 
  3. After swap, value of a :100 
  4. After swap, value of b :200 
 

這表明,參數值沒有被改變,雖然它們已經在函數內部改變。

通過傳遞函數參數,即是拷貝參數的地址到形式參數的參考方法調用。在函數內部,地址是訪問調用中使用的實際參數。這意味著,對參數的更改會影響傳遞的參數。

要通過引用傳遞的值,參數的指針被傳遞給函數就像任何其他的值。所以,相應的,需要聲明函數的參數為指針類型如下面的函數swap(),它的交換兩個整型變量的值指向它的參數。

復制代碼代碼如下:

/* function definition to swap the values */
func swap(x *int, y *int) {
   var temp int
   temp = *x    /* save the value at address x */
   *x = *y      /* put y into x */
   *y = temp    /* put temp into y */
}

現在,讓我們調用函數swap()通過引用作為在下面的示例中傳遞數值:
復制代碼代碼如下:

package main

 

import "fmt"

func main() {
   /* local variable definition */
   var a int = 100
   var b int= 200

   fmt.Printf("Before swap, value of a : %d/n", a )
   fmt.Printf("Before swap, value of b : %d/n", b )

   /* calling a function to swap the values.
   * &a indicates pointer to a ie. address of variable a and 
   * &b indicates pointer to b ie. address of variable b.
   */
   swap(&a, &b)

   fmt.Printf("After swap, value of a : %d/n", a )
   fmt.Printf("After swap, value of b : %d/n", b )
}

func swap(x *int, y *int) {
   var temp int
   temp = *x    /* save the value at address x */
   *x = *y    /* put y into x */
   *y = temp    /* put temp into y */
}


讓我們把上面的代碼放在一個C文件,編譯并執行它,它會產生以下結果:
  1. Before swap, value of a :100 
  2. Before swap, value of b :200 
  3. After swap, value of a :200 
  4. After swap, value of b :100 
 

這表明變化的功能以及不同于通過值調用的外部體現的改變不能反映函數之外。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产中文字幕久久网| 亚洲sss综合天堂久久| 国产日韩精品电影| 亚洲精品xxx| 91亚洲午夜在线| 日韩av电影手机在线| 日韩免费在线观看视频| 欧美国产日韩精品| 欧美综合第一页| 91精品久久久久久久久久久| 成人有码在线播放| 一本色道久久综合亚洲精品小说| 中文字幕视频一区二区在线有码| 黑丝美女久久久| 精品国产一区二区三区久久狼5月| 亚洲第一精品夜夜躁人人躁| 伊是香蕉大人久久| 欧美在线xxx| 日韩av电影在线免费播放| 日韩精品在线播放| 日韩欧美在线视频观看| 性欧美亚洲xxxx乳在线观看| 久久免费成人精品视频| 久久免费精品视频| 91嫩草在线视频| 亚洲天堂一区二区三区| 国产一区二区三区丝袜| 日本成熟性欧美| 成人av电影天堂| 国产精品视频1区| 日韩av中文字幕在线播放| 国产精品美女免费| …久久精品99久久香蕉国产| 久久国产精品视频| 在线视频亚洲欧美| 91在线无精精品一区二区| 国产69精品99久久久久久宅男| 日韩欧美精品网址| 欧美一级淫片videoshd| 日韩av三级在线观看| 自拍偷拍亚洲精品| 亚洲精品美女久久久久| 欧美激情女人20p| 亚洲欧美成人网| 欧洲日本亚洲国产区| 欧美高清激情视频| 欧美又大又硬又粗bbbbb| 欧美日韩成人在线视频| 欧美成人精品不卡视频在线观看| 亚洲大胆人体av| 亚洲午夜未满十八勿入免费观看全集| 中文字幕日本欧美| 51ⅴ精品国产91久久久久久| 美日韩精品视频免费看| 成人在线一区二区| 精品无人区乱码1区2区3区在线| 欧美小视频在线观看| 欧美日韩免费一区| 国产在线拍偷自揄拍精品| 亚洲图片制服诱惑| 国产999在线观看| 亚洲自拍偷拍色片视频| 欧美精品videos| 欧美夜福利tv在线| 欧美大秀在线观看| 日韩av中文字幕在线| 亚洲精品免费一区二区三区| 亚洲黄色av女优在线观看| 久久人人97超碰精品888| 国内自拍欧美激情| 成人网中文字幕| 青青草精品毛片| 欧美激情一级欧美精品| 国产69精品久久久久9| 欧美日韩美女在线观看| 国产区亚洲区欧美区| 亚洲欧美另类在线观看| 九九热精品视频在线播放| 亚洲毛片一区二区| 日韩欧美在线视频日韩欧美在线视频| 亚洲女人被黑人巨大进入| 欧美猛交免费看| 日韩av一区二区在线| 国产精品美女主播在线观看纯欲| 国产精品成人国产乱一区| 理论片在线不卡免费观看| 欧美黄色性视频| 亚洲自拍偷拍视频| 久久久www成人免费精品张筱雨| 欧美激情在线有限公司| 久久精视频免费在线久久完整在线看| 久久久av免费| 91伊人影院在线播放| 欧美激情奇米色| 黑人巨大精品欧美一区免费视频| 亚洲毛片在线看| 国产在线观看精品| 国产欧美精品在线| 久久久久久久网站| 91成人福利在线| 日韩大片免费观看视频播放| 欧美激情精品久久久久久蜜臀| 爱福利视频一区| www.亚洲免费视频| 亚洲精品乱码久久久久久金桔影视| 热久久美女精品天天吊色| 亚洲精品在线91| 色www亚洲国产张柏芝| 日韩福利视频在线观看| 亚洲福利在线观看| 这里只有精品视频在线| 亚洲精品国产精品自产a区红杏吧| 日韩免费看的电影电视剧大全| 亚洲sss综合天堂久久| 亚洲欧美日本精品| 亚洲国产精彩中文乱码av在线播放| 色视频www在线播放国产成人| 亚洲欧美一区二区激情| 热久久免费国产视频| 国产精品高清网站| 亚洲女成人图区| 亚洲国产日韩欧美在线图片| 亚洲精品国产拍免费91在线| 国产精品揄拍一区二区| 久久成人在线视频| 亚洲精品国产拍免费91在线| 日本久久久久久久久久久| 中文字幕视频一区二区在线有码| 国产视频观看一区| 国内精品400部情侣激情| 午夜精品国产精品大乳美女| 欧美视频在线观看 亚洲欧| 亚洲图片在区色| 欧美xxxx综合视频| 亚洲黄色片网站| 国产精品影片在线观看| 欧美精品videossex88| 精品亚洲国产视频| 91免费看片网站| 欧美性猛交xxxx乱大交极品| 久久影院资源网| 成人信息集中地欧美| 成人伊人精品色xxxx视频| 亚洲国产精品久久久久秋霞蜜臀| 国产精品美女久久久久av超清| 亚洲一二三在线| 久久久久久亚洲| 一区二区成人精品| 亚洲成人久久电影| 亚洲欧洲在线观看| 久久精品中文字幕一区| 欧美精品九九久久| 正在播放欧美视频| 亚洲wwwav| 国产精品va在线播放| 中文字幕在线亚洲| 欧美黄色性视频| 日韩中文视频免费在线观看| 高清视频欧美一级| 在线日韩中文字幕| 亚洲欧美国产高清va在线播| 国产剧情日韩欧美| 亚洲一级黄色片| 国产z一区二区三区|