当前位置: 首页 > news >正文

初识go语言之指针用法

一、环境准备

安装go语言编译环境,官网地址:https://go.dev/dl/ 或者 https://golang.google.cn/dl/

点击下载按提示安装即可

vscode 安装go语言扩展

测试 

package mainimport "fmt"func main() {fmt.Println("Hello, World!")
}

二、指针用法

指针基础:

  • 指针变量存储的是另一个变量的地址
  • 使用&操作符获取变量的地址
  • 使用*操作符声明一个指针变量
  • 使用*操作符解引用指针来访问指向的值
  • *x = 100,*出现在等号左边(左值)表示指针指向的变量
  • y = *x,*出现在等号右边(右值)表示获取指针指向变量的值

与C或C++不同,Go不支持指针运算(例如通过指针进行数组遍历),这使得指针的使用更加安全

测试:如何交换两个变量的值和修改变量的值

package mainimport "fmt"// swap 函数通过指针交换两个整数的值
func swap(x *int, y *int) {var temp inttemp = *x // 解引用x指针,获取x指向的值*x = *y   // 将y指向的值赋给x指向的位置*y = temp // 将临时变量temp的值赋给y指向的位置
}// modifyValue 函数展示了如何修改指针指向的值
func modifyValue(number *int) {*number = 20 // 修改指针指向位置的值为20
}func main() {a := 10b := 20fmt.Println("Before swap: a =", a, "b =", b)// 调用swap函数,传递a和b的地址swap(&a, &b)fmt.Println("After swap: a =", a, "b =", b)c := 5fmt.Println("Before modifyValue: c =", c)// 调用modifyValue函数,传递c的地址modifyValue(&c)fmt.Println("After modifyValue: c =", c)
}

http://www.lryc.cn/news/523503.html

相关文章:

  • 用户中心项目教程(二)---umi3的使用出现的错误
  • Android设备:Linux远程gdb调试
  • (十四)WebGL纹理坐标初识
  • 【机器学习】制造业转型:机器学习如何推动工业 4.0 的深度发展
  • Nginx安装配置Mac使用Nginx访问前端打包项目
  • 国自然面上项目|基于组合机器学习算法的病理性近视眼底多模态影像资料自动化定量分析研究|基金申请·25-01-18
  • 03_UI自适应
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • API接口技术推动电商数据处理的自动化
  • Nginx反向代理架构介绍
  • .Net Core微服务入门系列(一)——项目搭建
  • WPF 实现可视化操作数据库的程序全解析
  • python mysql库的三个库mysqlclient mysql-connector-python pymysql如何选择,他们之间的区别
  • 如何将数据库字符集改为中文,让今后所有的数据库都支持中文
  • Low-Level 大一统:如何使用Diffusion Models完成视频超分、去雨、去雾、降噪等所有Low-Level 任务?
  • EAMM: 通过基于音频的情感感知运动模型实现的一次性情感对话人脸合成
  • Docker Compose的使用
  • [STM32 HAL库]串口空闲中断+DMA接收不定长数据
  • 三、华为交换机 Hybrid
  • 如何通过 Apache Airflow 将数据导入 Elasticsearch
  • Android Studio:Linux环境下安装与配置
  • token是用来鉴权的,那session是用来干什么的?
  • 基于 WEB 开发的二手车辆销售管理系统设计与实现
  • wordpress的火车头商品发布接口
  • 浙江安吉成新照明电器:Acrel-1000DP 分布式光伏监控系统应用探索
  • 总结3..
  • 信息奥赛一本通 1168:大整数加法
  • 3.3 OpenAI GPT-4, GPT-3.5, GPT-3 模型调用:开发者指南
  • 横盘出击的三种经典走势形态,买点以及需要注意的问题技术详解
  • 处理没有提示的字符串、计算相隔天数应用题