指向Golang中的Struct

实现以下代码时遇到错误:


package main


import (

    "fmt" 

)


type Struct struct {

    a int

    b int

}


func Modifier(ptr *Struct, ptrInt *int) int {

    *ptr.a++

    *ptr.b++

    *ptrInt++

    return *ptr.a + *ptr.b + *ptrInt

}


func main() { 

    structure := new(Struct)

    i := 0         

    fmt.Println(Modifier(structure, &i))

}

这给了我一个关于“无效的ptr.a间接值(类型int)...”的错误。还有为什么编译器没有给我关于ptrInt的错误?提前致谢。


慕姐4208626
浏览 164回答 1
1回答

HUH函数

做就是了func Modifier(ptr *Struct, ptrInt *int) int {    ptr.a++    ptr.b++    *ptrInt++    return ptr.a + ptr.b + *ptrInt}你实际上是试图运用++上*(ptr.a)和ptr.a是一个int,而不是一个指针为int。您可能已经使用过,(*ptr).a++但这不是必需的,因为Go会自动解决ptr.aifptr是一个指针,这就是为什么您没有->Go的原因。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go