Go语言的runtime
包是Go语言运行时环境的核心组件,提供了丰富的功能来管理和优化程序的执行。
获取本机操作系统
fmt.Println(runtime.GOOS)
获取本机 CPU 架构
fmt.Println(runtime.GOARCH)
GOROOT返回Go的根目录。如果存在GOROOT环境变量,返回该变量的值;否则,返回创建Go时的根目录
func GOROOT() string
返回Go的版本字符串。它要么是递交的hash和创建时的日期;要么是发行标签如go1.3
func Version() string
NumCPU返回本地机器的逻辑CPU个数
func NumCPU() int
GOMAXPROCS设置可同时执行的最大CPU数,并返回先前的设置。 若 n < 1
,它就不会更改当前设置。本地机器的逻辑CPU数可通过 NumCPU 查询。
func GOMAXPROCS(n int) int
SetCPUProfileRate设置CPU profile记录的速率为平均每秒hz
次。如果hz<=0
,SetCPUProfileRate会关闭profile的记录。如果记录器在执行,该速率必须在关闭之后才能修改。
func SetCPUProfileRate(hz int)
GC执行一次垃圾回收
func GC()
注意x
必须是指针类型,f
函数的参数一定要和x
保持一致,或者写interface{}
,不然程序会报错
func SetFinalizer(x, f interface{})