美文网首页
2022-03-15 go传指针的一些注意点

2022-03-15 go传指针的一些注意点

作者: soondh | 来源:发表于2022-03-15 20:49 被阅读0次
package main

import (
    "fmt"
    "sync"
)

var wg sync.WaitGroup

func changePoint(count *int) {
    defer wg.Done()
    nowVal := 7
    
    //这种情况在main函数中count指向的值不会更新
    //count = &nowVal
    
    //这种情况在main函数中count指向的值会更新
    *count = nowVal
}

func ExampleGoroutine(orgId string) {
    initVal := 5
    count := &initVal

    wg.Add(1)
    go changePoint(count)
    wg.Wait()

    fmt.Println(*count)
}

func main() {
    ExampleGoroutine("test")
}

碰巧遇到这个问题。changePoint 函数传入的指针是值拷贝,所以入参count的作用域只在changePoint函数内。
需要修改count指向对象的值的话,需要直接对其指向的地址进行赋值,而不是把新值的地址赋给它

相关文章

  • 2022-03-15 go传指针的一些注意点

    碰巧遇到这个问题。changePoint 函数传入的指针是值拷贝,所以入参count的作用域只在changePoi...

  • Go语言 指针

    指针 概念 Go语言的指针和C语言一样也是用来保存地址的变量 格式 普通指针 指向数组的指针 注意点 GO语言中只...

  • Go结构-2

    指针 普通指针 通过指针也可以间接操作指向的存储空间 指向数组的指针 可以通过指针间接操作数组 注意点:Go语言中...

  • Golang 指针

    指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。Go语言当中的指针涉及到三个点:指...

  • 【golang】3.0 指针、数组、range关键字、Slice

    指针 指针在go语言中是一个很重要的概念,但比c语言简单多了。 指针简单在:指针不能运算参数传递:值传递还是引用传...

  • Go语言 值,指针,引用类型

    Go语言的指针与C或C++的指针类似,但是Go语言的指针不支持指针运算,这样就消除了在C或C++程序中一些潜在的问...

  • go 的一些注意点

    注意陷阱和常见错误 建议看一下,踩过很多坑之后,再看,才真的有用 https://www.cnblogs.com/...

  • 指针的注意点

    1、使用指针的注意点指针在使用过程中是需要注意一下几点的。指针类型与指针所指的值类型需一致,不然会出现内存泄露的情...

  • 【C语言笔记】<十五>指针

    指针的基本概念 指针的注意点 多级指针 指针为什么分类型

  • lc25 关于链表

    复习知识点:1)链表反转2)关于指针。理解C++中指针传参,大概指针传参也是传的形参(like int数字),但是...

网友评论

      本文标题:2022-03-15 go传指针的一些注意点

      本文链接:https://www.haomeiwen.com/subject/ltaydrtx.html