标签:关闭 后台 func 后台运行 打开 代码 default lan http
a.统一工作区间,避免目录及文件名随意
b.规范变量/结构体/方法及接口名
c.规范注释
d.单元测试/程序效率等建议
两个等级: (S)建议,(M)必须。以下是细节。
总而言之:组织结构需要简化,一目了然,允许多个工作区间,但是环境变量的第一个工作区间必须是公开的项目,最好使用一个工作区间,不要建立相对路径的包,最好用godep等依赖库控制工具来管理依赖库,每个项目所有的依赖库最好放在本目录vendor下。
总而言之,文件名和目录名,包名都必须小写。数据类型变量和参数等定义最好使用驼峰大小写法,不要使用下划线或者中划线
yum -y install docker-io
# 拉镜像
docker pull hunterhug/gotourzh
# 前台运行
docker run -it -p 9999:9999 hunterhug/gotourzh
# 后台运行(类似nohup)
docker run -d -p 9999:9999 hunterhug/gotourzh
打开http://127.0.0.1:9999即可!
package main
import "fmt"
func main() {
buffedChan := make(chan int, 2)
buffedChan <- 2
buffedChan <- 3
close(buffedChan) // 关闭后才能for打印出,否则死锁
//close(buffedChan) // 不能重复关闭
//buffedChan <- 4 // 关闭后就不能再送数据了,但是之前的数据还在
for i := range buffedChan { // 必须关闭,否则死锁
fmt.Println(i)
}
buffedChan1 := make(chan int, 2)
buffedChan1 <- 2
buffedChan1 <- 3
j, ok := <-buffedChan1
fmt.Println(j, ok)
j, ok = <-buffedChan1
fmt.Println(j, ok)
close(buffedChan1) // 关闭后才能,否则死锁
j, ok = <-buffedChan1 // 如果未关闭,否则堵塞后死锁
fmt.Println(j, ok)
select {
case j, ok := <-buffedChan1:
fmt.Println("jjj", j, ok)
default:
fmt.Println("will not out")
}
}
标签:关闭 后台 func 后台运行 打开 代码 default lan http
原文地址:https://www.cnblogs.com/nima/p/11751345.html