代码拉取完成,页面将自动刷新
package gls
import (
reflect "gitee.com/quant1x/gox/util/reflect2"
"unsafe"
)
var (
goidOffset uintptr = 128 // offset for go1.4
)
func init() {
gType := reflect.TypeByName("runtime.g").(reflect.StructType)
if gType == nil {
panic("failed to get runtime.g type")
}
goidField := gType.FieldByName("goid")
goidOffset = goidField.Offset()
}
// GoID returns the goroutine id of current goroutine
//
//go:nocheckptr
func GoID() int64 {
g := getg()
// TODO: fatal error: checkptr: pointer arithmetic result points to invalid allocation
p_goid := (*int64)(unsafe.Pointer(g + goidOffset))
return *p_goid
}
func getg() uintptr
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。