baiduPCS学习

截取自我的博客:https://chunlife.top/

首先,百度云是一个非常好用的网盘,因为之前限速是在限得太过于厉害,无法忍受,在网上找了很多工具,其中就有BaiduPCS-Go,不得不说特别的好用,之前在此基础上,我添加了一个同步文件夹的功能,感觉代码挺简陋的,所以我也不好意思PR,这里主要是我想把项目中一些可以复用的函数给抽取出来,以便我日后翻阅吧。

// Trigger 用于触发事件
func Trigger(f func()) {
	if f == nil {
		return
	}
	go f()
}

// TriggerOnSync 用于触发事件, 同步触发
func TriggerOnSync(f func()) {
	if f == nil {
		return
	}
	f()
}

delay是利用了channel的阻塞性质,以及关闭channel后,接受channel语句会获取数据,不再阻塞,这也就达到了delay的作用。(直接使用定时器也没啥毛病)

// NewDelayChan 发送延时信号
func NewDelayChan(t time.Duration) <-chan struct{} {
   c := make(chan struct{})
   go func() {
      time.Sleep(t)
      close(c)
   }()
   return c
}

// <-delayChan
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值