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

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

go語言函數(shù)傳遞數(shù)組 go語言函數(shù)中的參數(shù)傳遞效果測試

go語言中數(shù)組使用的注意事項和細(xì)節(jié)

1、數(shù)組是多個 相同類型 的數(shù)據(jù)的組合,一個數(shù)組一旦聲明/定義了,其 長度是固定的,不能動態(tài)變化 。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了伊犁免費建站歡迎大家使用!

2、var arr []int? ? 這時arr就是一個slice 切片 。

3、數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括值類型和引用類型,但是 不能混用 。

4、數(shù)組創(chuàng)建后,如果沒有賦值,有默認(rèn)值如下:

? ? 數(shù)值類型數(shù)組:????默認(rèn)值為 0

? ? 字符串?dāng)?shù)組:? ? ? ?默認(rèn)值為 ""

? ? bool數(shù)組:? ? ? ? ? ?默認(rèn)值為 false

5、使用數(shù)組的步驟:

? ? (1)聲明數(shù)組并開辟空間

? ? (3)給數(shù)組各個元素賦值

? ? (3)使用數(shù)組

6、數(shù)組的下標(biāo)是從0開始的。

7、數(shù)組下標(biāo)必須在指定范圍內(nèi)使用,否則報panic:數(shù)組越界,比如var arr [5]int的有效下標(biāo)為0~4.

8、Go的數(shù)組屬于 值類型 ,在默認(rèn)情況下是 值傳遞 ,因此會進(jìn)行值拷貝。 數(shù)組間不會相互影響。

9、如想在其他函數(shù)中去修改原來的數(shù)組,可以使用 引用傳遞 (指針方式)。

10、長度是數(shù)組類型的一部分,在傳遞函數(shù)參數(shù)時,需要考慮數(shù)組的長度,看以下案例:

題1:編譯錯誤,因為不能把[3]int類型傳遞給[]int類型,前者是數(shù)組,后者是切片;

題2:編譯錯誤,因為不能把[3]int類型傳遞給[4]int類型;

題3:編譯正確,因為[3]int類型傳給[3]int類型合法。

go語言:數(shù)組

數(shù)組是一個由 固定長度 的 特定類型元素 組成的序列,一個數(shù)組可以由零個或多個元素組成。 數(shù)組是值類型

數(shù)組的每個元素都可以通過索引下標(biāo)來訪問,索引下標(biāo)的范圍是從0開始到數(shù)組長度減1的位置,內(nèi)置函數(shù) len() 可以返回數(shù)組中元素的個數(shù)。

2.類型的打印,結(jié)果的第二種打印方式

3.對元素的修改或者賦值

4.判斷數(shù)組是否相等:長度、類型

4.數(shù)組的地址:連續(xù)存儲的空間

5.數(shù)組的賦值、地址、取值

6.數(shù)組的默認(rèn)值

7.數(shù)組的初始化

8.數(shù)組的逆置

9.求數(shù)組的最大值、最小值、平均值

10.對數(shù)組字符串進(jìn)行連接

11.冒泡排序法的實現(xiàn)

12.數(shù)組做函數(shù)的參數(shù)

13.二維數(shù)組:賦值和地址

14.二維數(shù)組:打印和輸出

15. 指針數(shù)組,每一個元素都是地址

17.數(shù)組的內(nèi)存分配

go語言函數(shù)如何傳遞數(shù)組變量

按值傳遞函數(shù)參數(shù),是拷貝參數(shù)的實際值到函數(shù)的形式參數(shù)的方法調(diào)用。在這種情況下,參數(shù)在函數(shù)內(nèi)變化對參數(shù)不會有影響。

默認(rèn)情況下,Go編程語言使用調(diào)用通過值的方法來傳遞參數(shù)。在一般情況下,這意味著,在函數(shù)內(nèi)碼不能改變用來調(diào)用所述函數(shù)的參數(shù)。考慮函數(shù)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;

}

現(xiàn)在,讓我們通過使實際值作為在以下示例調(diào)用函數(shù)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文件,編譯并執(zhí)行它,它會產(chǎn)生以下結(jié)果:

Before swap, value of a :100

Before swap, value of b :200

After swap, value of a :100

After swap, value of b :200

這表明,參數(shù)值沒有被改變,雖然它們已經(jīng)在函數(shù)內(nèi)部改變。

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

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

代碼如下:

/* 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 */

}

現(xiàn)在,讓我們調(diào)用函數(shù)swap()通過引用作為在下面的示例中傳遞數(shù)值:

代碼如下:

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文件,編譯并執(zhí)行它,它會產(chǎn)生以下結(jié)果:

Before swap, value of a :100

Before swap, value of b :200

After swap, value of a :200

After swap, value of b :100

這表明變化的功能以及不同于通過值調(diào)用的外部體現(xiàn)的改變不能反映函數(shù)之外。


本文題目:go語言函數(shù)傳遞數(shù)組 go語言函數(shù)中的參數(shù)傳遞效果測試
當(dāng)前URL:http://weahome.cn/article/ddejdhh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部