Go
永远sayYES
这个作者很懒,什么都没留下…
展开
-
VSCode必装Go语言以下插件
VSCode 必须安装以下插件:首先你必须安装 Golang 插件,然后再给 Go 安装工具包。在 VS Code 中,使用快捷键:command+shift+P,然后键入:go:install/update tools,将所有 16 个插件都勾选上,然后点击 OK 即开始安装。Installing 16 tools at /Users/maiyang/develop/goworkspace//bin gocode gopkgs go-outline go-symbols guru转载 2021-05-17 12:27:35 · 8776 阅读 · 0 评论 -
Mongo Pipeline的一个使用案例
Mongo Pipeline的一个使用案例一、背景最近在做的一个项目是工单模板,用户可以自定义工单的任意字段,自定义字段可用于渲染表单、详情、列表搜索条件、列表展示字段。这里最难的是列表搜索条件,因为用户可以自定义字段,不可能对每个字段建立索引,所以这里应用了一个类似倒排索引的方法。具体方法是建一个搜索集合(暂且命名为C),C有四个字段,分别为:_id是C的主键,field_id是自定义字段的主键id,field_value是自定义字段的值,target_id是目标文档的主键。举例如下:比如工单有两个原创 2021-04-02 11:51:34 · 605 阅读 · 0 评论 -
Go中interface{}转化为[]interface{}
Go中interface{}转化为[]interface{}func ToSlice(arr interface{}) []interface{} { ret := make([]interface{}, 0) v := reflect.ValueOf(arr) if v.Kind() != reflect.Slice { ret = append(ret, arr) return ret } l := v.Len() for i := 0; i < l; i++ { ret原创 2021-03-04 13:56:47 · 854 阅读 · 2 评论 -
Go语言并发编程
Go语言并发编程chan实现携程之间的同步通信//示例说明如下//1. 创建了10个通道,并发起10个协程//2. 通道没有设置缓存大小,所以消息发送是会阻塞的,直到接收方准备好func Count(ch chan int, id int) { fmt.Printf("count function %v", id) fmt.Println() ch <- 1}func main() { var chs [10]chan int //chs := mak原创 2020-12-26 21:46:37 · 130 阅读 · 0 评论 -
Golang斐波那契数列输出的两种方法
Golang斐波那契数列输出的两种方法第一种方法解析运行结果第二种方法解析运行结果总结第一种方法直接上代码:package mainimport "fmt"func main() { result := 0 for i := 0; i <= 10; i++ { result = fibonacci(i) fmt.Printf("fibonacci(%d) is: %...原创 2019-05-15 15:16:20 · 846 阅读 · 0 评论 -
Golang大整数计算示例-阶乘
Golang大整数计算示例-阶乘代码解析运行结果其他说明结论代码直接上代码:package mainimport "fmt"import "math/big"func main() { var i int64 for i=1;i<=40;i++{ fmt.Println(a(big.NewInt(i))) }}func a(s *big.Int) *big.I...原创 2019-05-10 18:08:48 · 2563 阅读 · 1 评论