![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
wait_for_eva
longer
展开
-
go-程序堆栈
程序信息package mainimport ( "fmt" "runtime")func main() { func() { func() { func() { func() { var flag bool = true var file string var line int for index := 0; flag;...原创 2019-10-23 18:23:09 · 171 阅读 · 0 评论 -
go-middleware
封装type Endpoint func(context.Context, interface{}) (interface{}, error)传入请求,返回结果(错误),忽略细节包装type MiddleWare func(Endpoint) Endpoint正常来说,除了基本功能,哪怕基本功能,我们都会囊括、扩充一些东西。举个例子func div(a, b float64) ...原创 2019-10-23 17:56:31 · 224 阅读 · 0 评论 -
go-异步结果
异步结果package mainimport ( "context" "fmt" "time")func add(a, b int) <-chan int { c := make(chan int, 0) go func(x, y int) { result := x + y // 模拟阻塞操作 time.Sleep(time.Second * 8) ...原创 2019-10-22 13:59:11 · 2035 阅读 · 0 评论 -
go-简单方法
简单方法func Printer(msg string){ fmt.Println(msg)}一般方法可以看作是一个工具,独立于操作元素外,操作元素,输出结果。Created with Raphaël 2.2.0sourcefunctionresult基本扩展参数func exec(runner func(params ...interface{}) error, values...原创 2019-10-21 14:10:28 · 109 阅读 · 0 评论 -
go-set
go中没有set,看了老代码,写的难以理解,自己实现一个。ISettype ISet interface{ add(interface{}) remove(interface{}) contains(interface{}) length()}Set// definetype Set struct { container map[interface{}] int...原创 2019-09-04 20:14:20 · 180 阅读 · 0 评论 -
go-chan
累加package mainimport "fmt"func sum2(rc chan int, a []int) { if len(a) == 1{ rc <- a[0] }else if len(a) == 2{ rc <- a[0] + a[1] }else{ cc := make(chan int) go sum2(cc, a[1:]) rc...原创 2019-08-08 10:19:19 · 78 阅读 · 0 评论 -
go-for
基本样式package mainfunc main(){ for index:=0; index < 10; index++{ println(index) }}一般的for样式,不过条件无括号,操作括号不可缺。无限循环public static void main(String[] args){ int value = 0; for (;;){ ...原创 2019-07-26 20:10:38 · 133 阅读 · 0 评论 -
go-switch
基础结构package mainimport ( "fmt")func main(){ var action string fmt.Scanln(&action) switch action { case "hello":println("hello") case "fuck": println("fuck") default: println("de...原创 2019-07-26 17:57:05 · 116 阅读 · 0 评论 -
go-if
一般式if condition { doSomething}表达式不可使用括号操作语句不可缺大括号初始化if a := 10; a< 20{ fmt.Println(a)}通过使用分号;进行分隔,可进行初始化赋值操作。两段式if condition { println("condition is true")}else{ pr...原创 2019-07-26 17:10:13 · 87 阅读 · 0 评论 -
go-运算符
算数运算符运算符操作+加-减*乘/除%模++自增--自减+正号+字符串拼接func main(){ i := 8 i-- // --i}只支持操作后自增/自减,不支持前置操作。关系运算符运算符操作==等于!=不等<小于>大于...原创 2019-07-26 14:17:26 · 90 阅读 · 0 评论 -
go-命名
系统占用保留关键字breakdefaultfuncinterfaceselectcasedefergomapstructchanelsegotopackageswitchconstfallthroughifrangetypecontinueforimportreturnvar预定义标识符appendb...原创 2019-07-25 10:27:33 · 121 阅读 · 0 评论 -
go-基本类型
基本类型数值类型singnedboundaryunsignedboundarybit[0,1][0,1][0,1]int8[−128,127][-128, 127][−128,127]uint8[0,255][0, 255][0,255]int16[−215,215−1][-2^{15}, 2^{15} - 1][−215,215−1]uin...原创 2019-07-24 20:34:49 · 118 阅读 · 0 评论 -
go-变量
基本步骤声明 var value intvarvar_namevar_typevar \quad var\_name \quad var\_typevarvar_namevar_type初始value = 9声明过后,需要记性初始化,一般情况下,如果不经过初始化,就使用默认值进行初始化,具体根据类型而定。使用fmt.Println("value = ", value)后...原创 2019-07-08 23:56:20 · 102 阅读 · 0 评论 -
go-杂项
命令版本go version运行go run test.go编译go build test.go注释// 单行注释/* 多行注释*/格式包名packae main模块import "fmt"分块package mainimport "fmt"func main(){ // 标准java格式,左大括号不允许另起一行 }结束pac...原创 2019-07-08 23:35:18 · 102 阅读 · 0 评论