4. Go语言—值类型和引用类型

一、值类型

1. 定义

​ 变量直接存储的值,内存通常在栈中分配; var i = 5 -> i-->5

2. 应用

int、float、bool、string、数组、struct

二、引用类型

1. 定义

​ 变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配。通过GC回收。

ref r--->地址--->值

2. 应用

指针、slice、map、chan

三、实例

package main

import "fmt"

func swap(a *int, b *int) {
    // 获取指针地址指向的值
    tmp := *a
    *a = *b
    *b = tmp
    return
}

func main() {
    one := 100
    two := 200
    // 获取指针地址
    swap(&one, &two)
    fmt.Println("one:%d", one)
    fmt.Println("two:%d", two)
}

猜你喜欢

转载自www.cnblogs.com/hq82/p/11072005.html
今日推荐