python调用golang 数组_Go 语言数组复制
Go 語言數(shù)組復(fù)制
Golang編程語言中的數(shù)組與其他編程語言非常相似。在程序中,有時我們需要存儲一組相同類型的數(shù)據(jù),例如學(xué)生評分列表。這種類型的集合使用數(shù)組存儲在程序中。數(shù)組是固定長度的序列,用于將同類元素存儲在內(nèi)存中。Golang沒有提供將一個數(shù)組復(fù)制到另一個數(shù)組的特定內(nèi)置函數(shù)。但是我們可以通過簡單地通過值或引用將數(shù)組分配給新變量來創(chuàng)建數(shù)組的副本。
如果我們通過值創(chuàng)建數(shù)組的副本并在原始數(shù)組的值中進行了一些更改,則它不會反映在該數(shù)組的副本中。 而且,如果我們通過引用創(chuàng)建數(shù)組的副本,并對原始數(shù)組的值進行了一些更改,那么它將反映在該數(shù)組的副本中。 如以下示例所示:
語法://按值創(chuàng)建數(shù)組的副本
arr?:=?arr1
//通過引用創(chuàng)建數(shù)組的副本
arr?:=?&arr1
讓我們借助示例來討論這個概念:
范例1:
示例//按值復(fù)制數(shù)組
package?main
import?"fmt"
func?main()?{
//創(chuàng)建和初始化數(shù)組
//使用簡寫聲明
my_arr1?:=?[5]string{"Scala",?"Perl",?"Java",?"Python",?"Go"}
//將數(shù)組復(fù)制到新變量中
//在這里,元素按值傳遞
my_arr2?:=?my_arr1
fmt.Println("Array_1:?",?my_arr1)
fmt.Println("Array_2:",?my_arr2)
my_arr1[0]?=?"C++"
//在這里,當我們復(fù)制數(shù)組時
//按值放入另一個數(shù)組
//然后對原始內(nèi)容進行更改
//數(shù)組不反映在
//該數(shù)組的副本
fmt.Println("\nArray_1:?",?my_arr1)
fmt.Println("Array_2:?",?my_arr2)
}
輸出:Array_1:??[Scala?Perl?Java?Python?Go]
Array_2:?[Scala?Perl?Java?Python?Go]
Array_1:??[C++?Perl?Java?Python?Go]
Array_2:??[Scala?Perl?Java?Python?Go]
通過引用復(fù)制數(shù)組示例:
示例//通過引用復(fù)制數(shù)組
package?main
import?"fmt"
func?main()?{
//創(chuàng)建和初始化數(shù)組
//使用簡寫聲明
my_arr1?:=?[6]int{12,?456,?67,?65,?34,?34}
//將數(shù)組復(fù)制到新變量中
//在這里,元素通過引用傳遞
my_arr2?:=?&my_arr1
fmt.Println("Array_1:?",?my_arr1)
fmt.Println("Array_2:",?*my_arr2)
my_arr1[5]?=?1000000
//在這里,當我們復(fù)制數(shù)組時
//通過引用放入另一個數(shù)組
//然后對原始內(nèi)容進行更改
//數(shù)組將反映在
//該數(shù)組的副本
fmt.Println("\nArray_1:?",?my_arr1)
fmt.Println("Array_2:",?*my_arr2)
}
輸出:Array_1:??[12?456?67?65?34?34]
Array_2:?[12?456?67?65?34?34]
Array_1:??[12?456?67?65?34?1000000]
Array_2:?[12?456?67?65?34?1000000]
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python调用golang 数组_Go 语言数组复制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php获取mysql数据菜鸟_PHP操作
- 下一篇: jsp获取java后台数据_spring