Go: Acquire goroutine ID


func GetGoroutineId() (n uint64) {
  vail := make([]byte, 1024)
  vail = vail[:runtime.Stack(vail, true)]
  fmt.Println(string(vail))
  vail = bytes.TrimPrefix(vail, []byte("goroutine "))
  vail = vail[:bytes.IndexByte(vail, ' ')]
  n, err := strconv.ParseUint(string(vail), 10, 64)
  if err != nil {
    return 0
  }
  return
}
Go