Golang-指针(pointer)_golang指针赋值,2024年最新真是经典中的经典

在Golang中,指针是一个非常重要的概念。指针存储了另一个变量的内存地址。当你创建一个指针时,它就会指向初始化的变量。你可以通过使用"&"运算符来获取变量的内存地址,并使用"*"运算符来获取指针指向的值。

以下是一些Golang指针的常见用法和示例代码:

  1. 声明和初始化指针:



var a int = 10
var ptr *int = &a // 声明并初始化指针
  1. 通过指针修改变量的值:



var a int = 10
var ptr *int = &a
*ptr = 20 // 通过指针修改变量的值
fmt.Println(a) // 输出:20
  1. 使用new函数初始化指针:



var ptr *int = new(int) // 使用new函数初始化指针
*ptr = 10 // 给指针赋值
fmt.Println(*ptr) // 输出:10
  1. 指针作为函数参数:



func update(ptr *int) {
    *ptr = 50
}
 
var a int = 10
update(&a) // 将变量a的地址传给函数
fmt.Println(a) // 输出:50
  1. 指针数组:



var ptrs [5]*int
for i := range ptrs {
    ptrs[i] = &i
}
for _, p := range ptrs {
    fmt.Println(*p)
}
  1. 指针作为函数返回值:



func returnsPointer(n int) *int {
    return &n
}
 
p := returnsPointer(10)
fmt.Println(*p) // 输出:10
  1. 指针与结构体:



type user struct {
    name string
    age  int
}
 
func (u *user) changeName(newName string) {
    u.name = newName
}
 
u := user{name: "Alice", age: 20}
u.changeName("Bob")
fmt.Println(u.name) // 输出:Bob

以上就是Golang指针的常见用法和示例代码。指针在Golang中非常重要,也非常有用,理解和掌握它对于编写高效的Golang代码非常关键。

最后修改于:2024年08月09日 12:16

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日