go
wait_for_eva
longer
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go-程序堆栈
程序信息 package main import ( "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 · 357 阅读 · 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 · 554 阅读 · 0 评论 -
go-异步结果
异步结果 package main import ( "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 · 2348 阅读 · 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 · 265 阅读 · 0 评论 -
go-杂项
命令 版本 go version 运行 go run test.go 编译 go build test.go 注释 // 单行注释 /* 多行注释 */ 格式 包名 packae main 模块 import "fmt" 分块 package main import "fmt" func main(){ // 标准java格式,左大括号不允许另起一行 } 结束 pac...原创 2019-07-08 23:35:18 · 242 阅读 · 0 评论 -
go-变量
基本步骤 声明 var value int varvar_namevar_type var \quad var\_name \quad var\_type varvar_namevar_type 初始 value = 9 声明过后,需要记性初始化,一般情况下,如果不经过初始化,就使用默认值进行初始化,具体根据类型而定。 使用 fmt.Println("value = ", value) 后...原创 2019-07-08 23:56:20 · 246 阅读 · 0 评论 -
go-基本类型
基本类型 数值类型 singned boundary unsigned boundary bit [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 · 274 阅读 · 0 评论 -
go-命名
系统占用 保留关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 预定义标识符 append b...原创 2019-07-25 10:27:33 · 231 阅读 · 0 评论 -
go-运算符
算数运算符 运算符 操作 + 加 - 减 * 乘 / 除 % 模 ++ 自增 -- 自减 + 正号 + 字符串拼接 func main(){ i := 8 i-- // --i } 只支持操作后自增/自减,不支持前置操作。 关系运算符 运算符 操作 == 等于 != 不等 < 小于 > 大于 ...原创 2019-07-26 14:17:26 · 228 阅读 · 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 · 255 阅读 · 0 评论 -
go-switch
基础结构 package main import ( "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 · 250 阅读 · 0 评论 -
go-for
基本样式 package main func 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 · 279 阅读 · 0 评论 -
go-chan
累加 package main import "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 · 220 阅读 · 0 评论 -
go-set
go中没有set,看了老代码,写的难以理解,自己实现一个。 ISet type ISet interface{ add(interface{}) remove(interface{}) contains(interface{}) length() } Set // define type Set struct { container map[interface{}] int ...原创 2019-09-04 20:14:20 · 348 阅读 · 0 评论
分享