要获取Go程序当前占用的内存大小,可以使用runtime包中的相关函数。下面是一个简单的示例代码:
package main
import (
"fmt"
"runtime"
)
func main() {
var m runtime.MemStats
runtime.ReadMemStats(&m)
fmt.Printf("Alloc = %v MiB", bToMb(m.Alloc))
}
func bToMb(b uint64) uint64 {
return b / 1024 / 1024
}
在这个示例中,我们使用runtime包中的ReadMemStats函数获取当前的内存统计信息,然后打印出Alloc字段的大小。我们还定义了一个辅助函数bToMb用于将字节转换为兆字节,并在打印时使用。
请注意,这个示例只打印了Alloc字段,它代表了分配但未释放的内存量。如果你想获取其他内存统计信息,如总分配的内存量或释放的内存量,可以在示例代码中进行相应的更改。另外,需要注意的是,这个示例只适用于Go1.5及更高版本。如果你使用的是较旧的版本,请查看对应版本的文档来获取更多信息。