摘要: panic支持抛出任意类型的异常(而不仅仅是error类型的错误),recover函数调用的返回值和panic函数的输入参数类型一致,它们的函数签名如下: func panic(interface{}) func recover() interface{} Go语言函数调用的正常流程是函数执行返回语 阅读全文
posted @ 2020-12-25 11:23 hubb 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 让我们演示一个文件复制的例子:函数需要打开两个文件,然后将其中一个文件的内容复制到另一个文件: func CopyFile(dstName, srcName string) (written int64, err error) { src, err := os.Open(srcName) if er 阅读全文
posted @ 2020-12-25 11:05 hubb 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 由于rebase执行速度慢,分支同步主干代码时,分支的每次提交都可能和主干产生冲突,需要解决的次数太多,影响提交效率。 同时,为了保证主干提交线干净(可以安全回溯),所以采用下面所说的merge法。 merge法 核心: (master) git merge feature --squash 意思是 阅读全文
posted @ 2020-12-25 10:56 hubb 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 场景一:RPC调用 在主goroutine上有4个RPC,RPC2/3/4是并行请求的,我们这里希望在RPC2请求失败之后,直接返回错误,并且让RPC3/4停止继续计算。这个时候,就使用的到Context。 这个的具体实现如下面的代码。 package main import ( "context" 阅读全文
posted @ 2020-12-25 10:35 hubb 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 正文 Goland设置代码格式化 进入设置,按需选择要使用的, VsCode 使用的是 go fmt设置成功后每次手动保存会格式化你的代码 Goland设置前进后退按钮# 勾选该项即可在最上层出现前进后退的按钮, 点击即可前进后退 阅读全文
posted @ 2020-12-25 10:30 hubb 阅读(721) 评论(0) 推荐(0) 编辑