题目: "Exercise: Web Crawler" 直接参考了 的实现,不过该代码使用了chan bool来存放子协程是否执行完成,我的代码是使用WaitGroup来让主协程等待子协程执行完成。 完整代码请参考 请注意对于WaitGroup的处理参考了 "Golang中WaitGroup使用的一 ...
分类:
Web程序 时间:
2020-02-23 19:58:34
阅读次数:
94
var mode = { 0: 'sequence', 1: 'loop', 2: 'random' } var m = 1 function changeMode() { var newMode = (m + 1) % 3 console.log(mode[newMode]) m++ } chan ...
分类:
其他好文 时间:
2020-02-15 09:14:32
阅读次数:
44
随便写了个tour练习 Go的chanel体验还是不错的,共享地址 package main import "fmt" func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v } c <- sum } func ...
分类:
其他好文 时间:
2020-02-13 00:06:15
阅读次数:
59
1. 非缓冲和缓冲 package main import ( "fmt" "strconv" ) func main() { /* 非缓冲通道:make(chan T) 一次发送,一次接收,都是阻塞的 缓冲通道:make(chan T , capacity) 发送:缓冲区的数据满了,才会阻塞 接收 ...
分类:
其他好文 时间:
2020-02-03 10:15:05
阅读次数:
101
go语言的最大两个亮点,一个是goroutine,一个就是chan了。二者合体的典型应用CSP,基本就是大家认可的并行开发神器,简化了并行程序的开发难度,我们来看一下CSP。 11.1、CSP是什么 CSP 是 Communicating Sequential Process 的简称,中文可以叫做通 ...
分类:
其他好文 时间:
2020-02-03 10:02:58
阅读次数:
74
通常都是定义读写双向的 chan,定义单向 chan 问题。专栏的介绍可以参考 《GotchaGolang专栏》,代码可以看《宝库-Gotcha》。通过 只写 chan 传递另一个只读的 chan,怎么写?案例平常一般是这么声明 chan 的:12345678910package mainimpor... ...
分类:
其他好文 时间:
2020-02-02 12:08:28
阅读次数:
78
1. 关闭管道 2. 遍历 3. 代码 package main import ( "fmt" ) func main() { intChan := make(chan int, 3) intChan<- 100 intChan<- 200 close(intChan) //这是不能够再写入数到ch ...
分类:
其他好文 时间:
2020-01-27 09:35:17
阅读次数:
60
package main import ( "fmt" ) func main() { //管道可以声明为只读或者只写 //1. 在默认情况下下,管道是双向 //var chan1 chan int //可读可写 //2 声明为只写 var chan2 chan<- int chan2 = make ...
分类:
其他好文 时间:
2020-01-27 09:20:40
阅读次数:
99
1. 案例1 package main import ( "fmt" _ "time" ) //write Data func writeData(intChan chan int) { for i := 1; i <= 50; i++ { //放入数据 intChan <- i // fmt.Pr ...
分类:
其他好文 时间:
2020-01-27 09:17:19
阅读次数:
64
昨天在帮同学装 win10 的时候,不小心(不知道那是什么东西)把原系统的 efi 和 msr 盘删了,用 WinNTsetup 安装时 EFI PART 总显示红叉,安装后也进不去系统,想想应该是找不到引导。 网上查了下,应该是用了 UEFI+GPT 方式安装的,他那台华硕电脑主板看着也挺奇葩,没... ...
分类:
其他好文 时间:
2020-01-21 23:23:57
阅读次数:
134