
golang
Coldestmonth
这个作者很懒,什么都没留下…
展开
-
go mongo常见几种查询
go mongo常见几种查询演示结构体建立连接and查询查询id=1 and name="test"或查询查询 name="test" 或者 "test2"in查询查询 name in("test1","test2","test3")模糊查询查询name中包含 test字符串的数据演示结构体type Score struct { Subject string `bson:"subject" json:"subject"` Score int `bson:"score" json:"score"`原创 2021-03-02 14:42:03 · 2938 阅读 · 0 评论 -
go语言学习-beego框架学习之beego安装和输出hello world
beego 的安装beego 的安装是典型的 Go 安装包的形式:go get github.com/astaxie/beego常见问题:git 没有安装,请自行安装不同平台的 git,如何安装请自行搜索。git https 无法获取,请配置本地的 git,关闭 https 验证:git config --global http.sslVerify false...原创 2018-07-17 11:43:24 · 1477 阅读 · 0 评论 -
go语言学习-beego框架学习bee在windows和linux下的安装
windows下的安装windows下的安装和linux下其实是相同的命令go get github.com/beego/bee//或者使用go install github.com/beego/bee在windows下安装完成之后需要在 环境变量中加入bee的路径%GOPATH%\bin 这样做的好处是在任何地方都可以使用 bee 工具 填加完成之后再命令行界面输入 be...原创 2018-07-17 13:09:14 · 1041 阅读 · 0 评论 -
go语言学习-RPC的简单使用
什么是RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一...原创 2018-07-19 17:19:13 · 1359 阅读 · 0 评论 -
go语言学习-flag包的使用
一、命令行语法命令行语法主要有以下几种形式:cmd -flag //只支持bool类型cmd -flag=xcmd -flag x //只支持非bool类型以上语法对于一个或两个‘-’号是一样的对于整形flag,合法的值可以为1234,0664,0x1234或负数等。对于布尔型flag,可以为1,0,t,f,T,F,true,false,TRUE,FALSE,Tru...原创 2018-07-14 11:10:56 · 2404 阅读 · 0 评论 -
GO语言ini配置文件的读取
iniconf博主前两天在写一个小的go语言项目,想找一个读取ini格式配置和的三方库,在网上找了一圈感觉都不是很好用, 使用起来非常的奇怪,于是自己写了一版,希望用的朋友感觉不错点个赞github 地址描述使用iniconf更简单的读取go的ini配置文件以及根据特定格式的各种配置文件。安装方法go get github.com/clod-moon/goconf使用方法i...原创 2018-12-02 10:48:37 · 3593 阅读 · 1 评论 -
go语言学习-使用函数式编程封装错误
下面这段代码的主要功能就是建立一个http服务端,通过这个http服务端我们可以在web端查看本地的文件内容。 但是在我们访问的时候如果url输入不正确,就会出现异常,我们通过函数式编程的方式,对http.handleFunc的第二个入参做了封装,让他从一个没有错误返回的函数,变成了一个有错误返回的函数,我们在外面统一进行了错误处理。 下面就是代码以及说明:package mainim...原创 2018-05-10 22:52:27 · 543 阅读 · 0 评论 -
go语言学习-Any类型
由于Go语言中任何对象都满足空接口interface{ },所以interface{ }看起来像是可以指定任何对象的Any类型,如下:var v1 interface{}=1 //将int类型赋值给intreface{}var v2 interface{} ="string" //将string类型赋值给interface{}var v3 interface{}=&v2...原创 2018-04-01 09:53:04 · 4079 阅读 · 0 评论 -
go语言学习-iota和左移右移的用法
在go语言中iota比较特殊,是一个被编译器修改的常量,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字就会自动加1左移运算符”<<”是双目运算符。左移n位就是乘以2的n次方。 其功能把”<<”左边的运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,高位丢弃,低位补0。右移运算符”>>”是双目运算符。右移n位就是除以2的n次原创 2017-09-27 13:51:47 · 5382 阅读 · 0 评论 -
go语言学习-linux下golang第三方包的使用
我这里以使用第三方包elastic包为例: 下面是elastic包的git地址:https://github.com/olivere/elastic 找到这个位置,选择要下载的版本,点击对应Package URL: 复制这行令:在linux 找到go安装的路径:echo $GOROOTcd /usr/local/gogo get gopkg.in/olivere/elas...原创 2018-05-22 14:02:38 · 2009 阅读 · 0 评论 -
go语言学习-chan使用过程关于close()
chan在go语言中相当于一个文件操作符,使用完成之后需要使用Close()函数关闭。下面这段代码有两个chan,ch1是一个chan int类型,ch2是一个chan bool类型,ch1被write()函数写入10个数,被read()函数读取,ch2其实是为了防止main所在的goroutine提前退出用的。我们分别在写完之后Close()和不Close()看看有什么不同。pack...原创 2018-05-14 21:45:53 · 9867 阅读 · 7 评论 -
go语言学习-panic()和recover()函数
1.说明1.1 panic()函数:panic 英文原意:n. 恐慌,惊慌;大恐慌 adj. 恐慌的;没有理由的 vt. 使恐慌 vi. 十分惊慌 panic 是用来表示非常严重的不可恢复的错误的。在Go语言中这是一个内置函数,接收一个interface{}类型的值(也就是任何值了)作为参数。panic的作用就像我们平常接触的异常。不过Go可没有try…catch,所以,pa...原创 2018-04-13 21:13:47 · 2970 阅读 · 1 评论 -
go语言学习-windows下开发环境的搭建
1.首先需要下载下载go平台安装包 安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是windows32 位系统,请选择go1.3.3.windows-386.msi即可,其他的,请按照自己所需版本来进行下载;2.安装以及配置环境变量 由于Wind...转载 2017-06-12 09:40:39 · 530 阅读 · 0 评论 -
go语言学习-go语言linux环境搭建
本博客转自:http://www.cnblogs.com/zhangbao/p/5898208.html仅供学习使用在/root/downloads/下wget -c https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz解压文件至/usr/localtar -C /usr/local -xzf go1.7.1.linux-a原创 2017-06-11 22:46:14 · 354 阅读 · 0 评论 -
go语言学习-变量声明
package mainimport "fmt"var v1 int //声明intvar v2 string //声明stringvar v3 [10]int //声明int数组var v4 []int //声明int数组切片var v5 struct{ f int}//声明一个结构体var v6 *int//声明int指针原创 2017-09-26 18:03:57 · 269 阅读 · 0 评论 -
go语言学习-工程创建
golang的工程目录是比较固定的,不管你的工程是什么样的结构都是如下图: bin:存放编译后的可执行文件 pkg:用来存放工程中不同的包,相当于c语言中生成的动态库 src:用来存放工程中编写的代码 在src中不同的包要有单独的文件夹来存放代码原创 2017-09-26 18:08:12 · 507 阅读 · 0 评论 -
go语言学习-多重返回和匿名变量
在go语言中可以通过使用多重返回和匿名变量来避免返回多个变量,从而使代码变得更加优雅。下面是我写的测试代码:package anonymousVariableimport "fmt"//go语言中函数名首字母大写在包外可见,小写只能在包内被使用//getName只能在包内可见,包外不可见//GetName()函数三个返回值都是string类型,func getName() (firstNam原创 2017-09-27 10:16:04 · 635 阅读 · 0 评论 -
go语言学习-数组切片的创建和使用方法
数组切片就像一个指向数组的指针,它拥有自己的数据结构,不仅仅是指针,数组切片的数据结构可以抽象为以下三个变量:一个指向原生数组的指针数组切片的元素个数数组切片已分配的存储空间从底层实现来看,数组切片实际上还是通过使用数组来管理元素,这个有点像C++中数组与vector的关系,并且可以被随意传递而不会导致所管理的元素被重复复制package arrSliceimport "fmt"//创建数组原创 2017-09-27 16:00:32 · 1990 阅读 · 0 评论 -
go语言学习-数组切片(slice)通过数组赋值或创建详解
go语言中数组切片(slice)创建一般有两种种方式:数组切片的创建直接创建: arr := make([]int,10)基于数据创建 arr := arr2[frist:last] 该切片的元素为从下标为frist的元素开始,到小标位last-1元素,左闭右开 arr := arr2[:] arr := arr2[0:] arr := arr2[0:len(ar...原创 2018-04-03 17:21:30 · 10850 阅读 · 0 评论 -
go语言学习-reflect反射理解和简单使用
1、golang中reflect说明:本质上来说,反射就是一种检查接口变量的类型和值的机制。最基本的我们要知 reflect.Type和reflect.Value。可以通过reflect.TypeOf和reflect.ValueOf来得到接口变量的Type和Value,同样可以通过reflect.Value轻松得到reflect.Type。2、golang中reflect的使用:...原创 2018-04-18 18:09:48 · 5968 阅读 · 0 评论 -
go语言学习-接口赋值的两种类型
接口赋值在go语言中分为下面两种情况:将对象实例赋值给接口 在我看来go语言的接口就是c++中虚函数的声明,使用者可以根据自身使用的需要声明一个函数的集合,将需要的方法都在接口中声明,有点像c++中,子类继承父类之后,通过子类对象给父类赋值,因为父类有的方法(除私有方法)子类肯定都有,尤其是虚函数,这样的比C++好的地方是go语言中不需要通过继承的方式来实现多态,不同的对象只需要将接口中...原创 2017-06-21 11:38:01 · 4121 阅读 · 0 评论