go - 如何在func中修改全局结构值

标签 go

当我使用它在结构上迭代时,内存地址是不同的。所以我不能修改它的值
没有人

type SiteUrl struct {
    name string
    url  string
    isUp bool
}

func debug(s *SiteUrl) {
    s.isUp = false
}

func main() {

    sites := []SiteUrl{
        {"test site", "http://127.0.0.1:8000", true},
    }
    for {
        for _, site := range sites {

            fmt.Println(&site.isUp, site.isUp)
            debug(&site)
        }
    }


}

它的值没有修改

最佳答案

println func在change action debug()之前运行。
先调试,然后打印
它会起作用

关于go - 如何在func中修改全局结构值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56844351/

相关文章:

在 GO 中进行分析 - 无符号

go - 我收到一条错误消息,提示没有足够的参数返回

go - 指针引用未存储在我的 go 程序中的结构中

javascript - 如何在golang中顺序处理并发请求?

postgresql - Go 和 postgres 将整数重新解释为 nil 类型

java - 在 Windows 上使用 JNI 从 Java 调用 Golang 导致 "A dynamic link library (DLL) initialization routine failed"

go - golang中为什么叫 "factored"import语句?

go - Docker-Compose:与需要相对导入的 Dockerfiles 组合

go - 使用 `go doc` 命令查看示例函数?

git - 如何创建 pull 请求或 merge PR