【Golang】golang中那些不需要傳遞引數就能使用的變數是怎麼回事

weixin_33936401發表於2017-05-03

結論:

  • 只有變數的作用域高於此函式的範圍時,才能在函式中不經過引數傳遞就能使用該引數:全域性變數>函式1>函式2>....

正確的使用方式1:

  package main
  import ...
  var wg sync.WaitGroup

  func main(){
    wg.Add(3)
    ....
  }

  func Count(){
    wg.Done()
    ...
  }

正確的使用方式2:

  package main
  import ...

  func main(){
    var wg sync.WaitGroup
    wg.Add(3)
    go func(){
      wg.Done()
    ....
  }

錯誤的使用方式:

  package main
  import ...

  func main(){
    var wg sync.WaitGroup
    wg.Add(3)
    ....
  }

  func Count(){
    wg.Done()
    ...
  }

相關文章