结构在runtime2.go.type g struct { // Stack parameters. // stack describes the actual stack memory: [stack.lo, stack.hi). // stackguard0 is the stack pointer compared in the Go stack growth prologue.您可以使用godef自己快速回答此类问题。该函数的注释描述了它是如何工作的:编译器将对该函数的调用重写为直接获取 g 的指令(从 TLS 或从专用寄存器)。要查看编译器如何执行此操作,请检查cmd/compile/internal/gc/typecheck.go:if ..... && n.Left.Sym.Name == "getg" { ...