2021-06-04

基础学习

代码

1.go协程
// An highlighted block
package main
// 格式化打印占位符:
//             %v,原样输出
//             %T,打印类型
//             %t,bool类型
//             %s,字符串
//             %f,浮点
//             %d,10进制的整数
//             %b,2进制的整数
//             %o,8进制
//             %x,%X,16进制
//                 %x:0-9,a-f
//                 %X:0-9,A-F
//             %c,打印字符
//             %p,打印地址

import (
	"fmt"
	"sync"
)

var closeSig chan bool
var wg sync.WaitGroup

func main() {
	closeSig = make(chan bool, 1)
	for i := 0; i < 3; i++ {
		wg.Add(1)
		go func(id int) {
			defer wg.Done()
			var bStop = false
			for {
				select {
				case rs, ok := <-closeSig:
					fmt.Printf("%d recieve closeSig %t %t\n", id, rs, ok)
					bStop = true
				}
				if bStop == true {
					break
				}
			}
			fmt.Println("cur ", id, "is done")
		}(i)
	}
	closeSig <- true
	close(closeSig)
	wg.Wait()
}

待续

var code = “3fff1b78-fcc3-4a78-a2ff-925b4207c1aa”

posted @ 2021-06-04 11:13  SandKing  阅读(10)  评论(0)    收藏  举报  来源