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

摘要:
内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,通过GC回收。refr---˃地址---˃值2.应用指针、slice、map、chan、接口三、实例packagemainimport"fmt"funcswap{//获取指针地址指向的值tmp:=*a*a=*b*b=tmpreturn}funcmain(){one:=100two:=200//获取指针地址swapfmt.Printlnfmt.Println}

一、值类型

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)
}

免责声明:文章转载自《4. Go语言—值类型和引用类型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇T-sql for xml path使用(转)织梦DEDECMS小说模块使用和安装全攻略下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#基础(六)——值类型与引用类型

CLR支持两种类型:值类型和引用类型。 值类型包括C#的基本类型(用关键字int、char、float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型);而引用类型包括类(用class关键字声明的类型)和委托(用delegate关键字声明的特殊类)等。 C#中的每一种类型要么是值类型,要么是引用类型。所以每个对象要么是值...

【ECMAScript5】ES5基础

一、语法 区分大小写。 变量是弱类型的,可以初始化为任意值,也可以随时改变变量所存数据的类型。 每行结尾的分号可有可无,但是建议加上。 注释 单行注释以双斜杠开头(//) 多行注释以单斜杠和星号开头(/*),以星号和单斜杠结尾(*/) 代码块:用{ } 包起来的 二、变量 使用 var (variable的缩写)运算符声明变量。 可以用一个var...

C# 基本数据类型

Ø  前言 每个编程语言都有基本的数据类型,例如 C、C++、Java、Python、PHP、JavaScript、以及各种数据库等,而 C# 也不例外。本篇主要讨论 C# 中的一些常用的基础数据类型。   1.   值类型 Ø  值类型隐式继承于 System.ValueType,而 System.ValueType 隐式继承于 System.Objec...

java关于传值与传引用

关于java传值还是传引用的问题经常出现在一些烦人的面试题中,主要考察个人对java基础的掌握情况。 首先明确一下:本地方法中,java的参数传递都是传值。但是如果是远程调用方法时,会将对象本身传递过去 Java是本地编程多是传值,这个值包括基本值和引用值,分别对应基本类型和引用类型。基本类型就不说了。 引用类型虽然是传值,但是却表现出传引用的效果。传递...

【原创】《.net本质论》读书笔记三

上一章讲的是Type,这一章讲了实例在内存中的情况。主要内容有两个——分清楚值类型和引用类型;搞清楚GC是怎么回事。这其中当然也介绍了一些有用的函数了。   1、值类型和引用类型 值类型是继承于System.ValueType的类型,它与引用类型一样可以有字段、方法,但是不能被继承,运行时是存储在栈上的。   值类型在CLR中只有三种:基本数据类型,如In...

unity之初级工程师

一.值类型与引用类型 值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。值类型变量声明后,不管是否已经赋值,编译器为其分配内存。值类型的实例通常是在线程栈上分配的(静态分配)。 引用类型声明时并没有为其分配堆上的内存空间。引用类型的对象总是在进程堆中分配(动态分配)。 值类型(value type):byte,short,...