golang sync.Once

package main

// once 只执行一次,底层实现:应用互斥锁机制

import (
    "sync"
    "fmt"
)


var once sync.Once // 返回一个结构体指针类型

func fun1(endNum int)  {
    res := 0
    for i :=0; i <= endNum; i++ {
        res += i
    }
    fmt.Println("res:", res)
}

func main() {

    endNum := 100

    // Do 函数接受一个无参数函数作为输入
    once.Do(func(){ fun1(endNum) })
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容