golang中的传值或传引用

Python011

golang中的传值或传引用,第1张

按数据类别有以下几种数据类型:

按存储方式也有两大类数据类型:

值类型:变量直接存储值。值类型的数据存储在栈内存空间中,栈在函数调f返回后,内存会被释放。

引用类型:变量存储的是一个地址,这个地址存储最终的值。引用数据类型的数据存储在堆内存空间中,通过 GC 回收。

函数调用时申明的基础类型均为值传递,如int,string,数组等,数据传入函数后会重新copy一份,函数内的修改不会影响外面的变量,外部变量的修改也不会影响函数类的变量。

func main () {

myvar := [4] string {"test0", "test1", "test3", "test4"}

go Test(myvar)

for i := 1i

golang父进程通过管道向子进程传递数据

这里例子里面父进程launch一个子进程,然后通过管道(stdin)向子进程传递文本串。

父进程:

子进程: