每日一个 Golang Packages 06/10 runtime 
                                                    
                        
                    
                    
  
                    
                    2020/06/10
- ** 今日简单认识一下 Package runtime**
package main
import (
    "fmt"
    "runtime"
)
func main() {
    // 获取 goroot 目录
    fmt.Println("GOROOT-->", runtime.GOROOT())
    // 查看操作系统
    fmt.Println("os/platforms-->", runtime.GOOS)
    // 获取逻辑cpu 的数量
    fmt.Println("CPU 数量", runtime.NumCPU())
    // 设置 go 程序执行最大的 cpu 数量(1- 256)
    n := runtime.GOMAXPROCS(runtime.NumCPU())
    fmt.Println(n)
    // gosched  让出时间片,先让别的 goroutine 执行
    go func() {
        for i := 0; i < 5; i++ {
            fmt.Println("goroutine...")
        }  
        fmt.Println("goroutine 开始。")
        fun() // 调用 fun 函数 defer 会被执行
        fmt.Println("goroutine 结束。")
    }()
    for i := 0; i < 5; i++ {
        // 让出时间片,先让别的 goroutine 执行
        runtime.Gosched()
        fmt.Println("main...")
    }
}
func fun() {
    defer fmt.Println("defer....")
    // 终止函数执行 defer 会正常执行
    // return 
    // 终止当前的 goroutine
    runtime.Goexit() 
    fmt.Println("fun 函数")
}
顺便佛系一下用 go 做做 leetcode 的练习题同步到了 GitHub 大家也可以看看。
一步一个脚印,稳扎稳打,重新出发!从基本的 Golang Packages 记忆开始,坚持 ing!
本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           Aliliin 的个人博客
 Aliliin 的个人博客
         
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: