首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对struct使用&符号,对Go使用星号

对于struct来说,使用&符号可以取得一个struct变量的地址,也就是指针,通过指针可以直接修改struct变量的值。使用&符号可以将一个struct类型的变量转换为指向该struct的指针类型。

而对于Go语言来说,星号(*)用于声明一个指针变量,并且可以通过指针来访问变量的值。通过星号可以解引用一个指针,即获取指针指向的值。

下面是更详细的解释:

  1. 对struct使用&符号: 在Go语言中,使用&符号可以获取一个struct变量的地址。比如有一个结构体定义如下:
代码语言:txt
复制
type Person struct {
    Name string
    Age int
}

可以声明一个Person类型的变量,并使用&符号获取其地址:

代码语言:txt
复制
p := Person{Name: "Alice", Age: 25}
ptr := &p

此时,ptr的类型是*Person,表示一个指向Person类型的指针。

通过指针ptr,可以直接修改p的值:

代码语言:txt
复制
ptr.Name = "Bob"

这样,p的Name属性就被修改为"Bob"了。

  1. 对Go使用星号: 在Go语言中,星号(*)用于声明一个指针变量,并且可以通过指针来访问变量的值。

例如,声明一个整型变量和一个整型指针:

代码语言:txt
复制
var num int
var ptr *int

这里的ptr就是一个指向int类型的指针。

使用星号解引用指针,可以获取指针指向的值:

代码语言:txt
复制
num = 10
ptr = &num
fmt.Println(*ptr)  // 输出:10

这里的*ptr表示获取指针ptr指向的值,即10。

另外,在Go语言中,我们可以通过new关键字创建一个指针,并分配内存空间。例如:

代码语言:txt
复制
ptr := new(int)

这样,ptr就是一个指向int类型的指针,并且已经分配了内存空间。

总结: 使用&符号可以获取struct变量的地址,即指针,通过指针可以直接修改struct变量的值。使用星号(*)可以声明一个指针变量,并且可以通过指针来访问变量的值。通过使用星号解引用指针,可以获取指针指向的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何隐藏Code39码的星号

    CODE 39是 Intermec公司在1975年研制成功的。包括数字、字母和一些符号在内,条形码共包括43个字符。由于可以处理字母,CODE 39在工业领域必不可少,用于汽车、电子等工厂自动化行业。Code 39码支持26个英文大写字母(A-Z),十个数字(0-9),以及符号(-、.、_(空)、*、$、/、+、%)。可以对任意长度的数据进行编码,Code 39码用于物流跟踪、生产线流程等方面,是比较常用的条形码类型之一。39码的起始码和终止码为固定的星号“*”,即39码前后各有一个星号“*”来标识条形码的开始和结束。因为有些用户制作条码时,不需要显示头尾的星号,所以下面我们就介绍如何隐藏这个起始码和终止码。

    02
    领券