go - 如何将一个指针设置为乘法函数?

标签 go

<分区>

如何将一个指针设置为乘法函数?

package main

import "fmt"

type Cube struct {
    u int
}

func (h *Cube) space() int {
        return h.u * h.u * h.u
}

func main() {
        h := Cube {
                u: 10,
        }
        fmt.Println(h.space())

        h := Cube {
                u: 100,
        }
        fmt.Println(h.space())
}

println 的第一个请求返回 1000,但是第二个 println 出错了,告诉 := 的左侧没有新变量 但我希望指针使用所有相同的只是 u: 到 100 变化

最佳答案

:= 做两件事,它创建一个变量并为其赋值。您试图在第二行创建一个名为 h 的新变量,编译器告诉您它不会创建新变量。

只需将 := 替换为 =

关于go - 如何将一个指针设置为乘法函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35728814/

相关文章:

multithreading - 在 Golang 中实现 "events"(带有通知程序/接收程序)的概念?

go - http 查询字符串 : question mark becomes %3

html - 在 Go 中解析 HTML 输入标签

go - 优雅地关闭 Gorilla 服务器

c - CGO block 中的全局变量-GO中的内存泄漏和线程安全

go - 如何输出在 Docker-Compose.yml 的 yaml 解码中引发错误的行?

go - 为什么永远不会调用终结器?

mongodb - golang中的条件聚合查询

go - fmt.Print() 是否写入 GoLang 中的标准输出?

json - 使用go,如何将map[int]T转换为map[string]T以与JSON一起使用?