Go语言中*和的区别
Go语言中*和&的区别
- 总结
- 示例
老是分不清*和&的区别,今天特意总结了一下。
1. 总结
- &是取地址符。
- *可以表示一个变量是指针类型,也可以表示指针类型变量所指向的存储单元,也就是这个地址所指向的值。
2. 示例
- 代码
type Person struct {name stringage int
}func main() {// & 是取地址符,取到Person类型对象的地址// 声明一个Person类型的结构体Bob := Person{"Bob", 20}fmt.Println("Bob:", Bob, " &Bob:", &Bob)// 声明一个Person类型的指针Lisa := &Person{"Lisa",30}fmt.Println("Lisa:",Lisa,"&Lisa:",&Lisa)// * 可以表达一个变量是指针类型var John *Person = &Person{name: "John",age: 40,}fmt.Println("John:",John," &John:",&John)// * 也可以表示指针类型变量所指向的存储单元,也就是这个地址所指向的值fmt.Println("*John:",*John)//函数参数是指针的话,会修改原来的数据changName(John)fmt.Println("*John:",*John)
}func changName(p *Person) {// p 是一个指针//如果是基本数据类型 [p.name = "China"] == [(*p).name = "China"]//其他类型则必须用 * 取值(*p).name = "China"p.age = 100
}
- 输出结果
Go语言中*和的区别相关推荐
- c语言中.和-区别,c语言中-和.的区别
对于c语言中"->"和"."的区别总结如下: 1.A.B则A为对象或者结构体: 2.A->B则A为指针,->是成员提取,A->B是提取A ...
- 从go语言中找和*区别
*和&的区别 : & 是取地址符号 , 即取得某个变量的地址 , 如 ; &a *是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , ...
- c语言exit和return区别,在fork和vfork中使用
转自c语言exit和return区别,在fork和vfork中使用 exit函数在头文件stdlib.h中. 简述: exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: ...
- C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?
逻辑右移与算术右移的区别? 逻辑右移就是不考虑符号位,右移一位,左边补零即可. 算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,:否则,就补0. 所以算术右移也可以进行有符号位的除法,右 ...
- c语言中指针中 - 和 。的区别?
c语言中指针中 -> 和 .的区别? 例子1:比如有如下结构 typedef strut node{ int data; strut node * next; } ListNode; Lis ...
- C语言中()和【】的区别?
C语言中()和[]的区别? 1.注意()是初始化,[]是定义多个对象. 2.int* p = new int (100) 是创建一个int型的内存,并赋值为100; int *p = new int[ ...
- c语言中全局变量内存,C语言——全局变量和局部变量在内存中的区别——及编译后的内存分区【栈-堆-全局存储区-文字常量区-程序代码区】...
目录: 一:全局变量 二:局部变量 三:C语言经过编译之后将内存分为以下几个区域 (1)栈(stack) (2)堆(heap) (3)全局(静态)存储区 (4)文字常量区 (5)程序代码区 四:区别 ...
- C语言中 *.c和*.h文件的区别!
C语言中 *.c和*.h文件的区别! 这是HR面试我的一道题,没技术上含量,不过细想起来,还是C语言的最基本的知识!俗话说,目标决定动力,细节决定成败! C文件就是C语言系列的源文件,而H文 ...
- GUN ARM汇编中标号的引用在汇编和C语言中区别(monitor_flash_len = _bss_start - _armboot_start;)
u-boot/cpu/xx/start.S中: _TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我设置为0xa170 0000 */ .glob ...
最新文章
- 路由器级联后网速慢的原因分析和问题解决
- 安装epel源 失败:未知的名称或服务。 wget: 无法解析主机地址 “mirrors.aliyun.com”
- jap和java有关系吗_hibernate与jpa有什么区别和联系?
- html如何让图片跟字体重叠,CSS设置图片与文字的间距
- 2 安装失败_写bug日记2:PYTORCH GEOMETRIC安装失败的问题(未解决)
- POJ 3252 Round Numbers
- 软齿面主要失效形式_齿轮4种常见故障原因,如何采取预防措施,避免齿轮失效...
- (转载的)C#using的用法
- 产品部和业务部门是什么关系
- 如何越狱苹果TV2在iOS 4.2使用PwnageTool
- iOS高级面试题及部分答案
- 输入十个国名 要求按字母顺序输出C语言,用C语言编程实现国家名称按序输出,要求键盘输入五个国家的名字,按字母顺序排列打印输出。...
- 数字图像处理11:阈值分割(基本全局阈值处理,Otsu 的最佳全局阈值,图像平滑改善全局阈值处理,图像分块的可变阈值)
- 资产管理业务和财富管理
- 改进Python文字小游戏(4)
- pythonocc_PythonOCC基础使用:点的性质(glsl定义)
- xt800远程对方计算机桌面是黑的,桌面远程对方的电脑黑屏怎么办
- 在ubuntu上安装像金山词霸的词典。
- tooth的用法_tooth是什么意思_tooth怎么读_tooth翻译_用法_发音_词组_同反义词_牙-新东方在线英语词典...
- 【学院新生研讨】关于手机使用情况的调研报告
热门文章
- Saltstack-6:模块
- springboot 入门教程(1)
- Exchange 2016 批量添加X500地址,解决迁移后退信的问题
- pl/sql编程基础
- Django apache2 安装配置
- 要找工作了,拿什么拯救你——我的能力
- 2021牛客多校4 - Rebuild Tree(树形dp)
- java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...
- UVA - 11882Biggest Number dfs+期望剪枝
- EOJ_1020_铁路调度