![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
皇小邪
码而不思则罔,思而不码则殆
展开
-
golang:日期与时间戳相互转换
1、时间戳转日期:timestamp:=1602482956timeobj:=time.Unix(int64(timestamp),0)date:=timeobj.Format("2006-01-0215:04:05")fmt.Println(date)运行结果:2、日期转时间戳:str:="2020-10-1214:19:53"tmp:="2006-01-0215:04:05"res...原创 2020-10-12 14:32:12 · 7561 阅读 · 0 评论 -
beego--orm实例
控制器:sql.gopackage controllersimport ( "BLOG/models" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql")func init() { //注册驱动 orm.RegisterDriver("mysql", orm.DRMySQ...原创 2019-09-03 10:13:40 · 607 阅读 · 0 评论 -
Go 语言接口
Go 语言接口Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。package mainimport "fmt"type Phone interface { call()}type NokiaPhone struct {}func (nokiaPhone NokiaPhone) cal...原创 2019-09-26 08:24:22 · 126 阅读 · 0 评论 -
golang中给结构体或结构体指针绑定函数的区别
1.先创建一个结构体type Test struct{namestring//给结构体绑定一个字段,用以说明结构体和结构体指针绑定函数的区别}2.给结构体绑定函数func (test Test) function(){test.name = "结构体"}3.给结构体指针绑定函数func(test *Test) pointFunc...转载 2019-09-25 19:50:17 · 1615 阅读 · 0 评论 -
go工厂模式
Go:工厂模式Go的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。一个结构体的声明是这样的:packageexertypeExersstruct{ accountNo string pwd string balanced float64}因为 Exers 的首字母 E是大写的,如果我们想在其他包创建 Exers 的实例(比如 main...原创 2019-09-24 21:10:44 · 674 阅读 · 0 评论 -
go语言值传递与地址传递的区别
值传递这种方式使用变量、常量、数组元素作为函数参数,实际是将实参的值复制到形参相应的存储单元中,即形参和实参分别占用不同的存储单元,这种传递方式称为“参数的值传递”或者“函数的传值调用”。值传递的特点是单向传递,即主调函数调用时给形参分配存储单元,把实参的值传递给形参,在调用结束后,形参的存储单元被释放,而形参值的任何变化都不会影响到实参的值,实参的存储单元仍保留并维持数值不变。...原创 2019-09-24 11:12:35 · 1108 阅读 · 0 评论 -
golang 中new()和make()的区别
Go语言中的内建函数new和make是两个用于内存分配的原语(allocation primitives),其功能相似,却有本质区别。new和make的区别new官方文档// The new built-in function allocates memory. The first argument is a type,// not a value, and the value r...转载 2019-09-24 10:20:07 · 210 阅读 · 0 评论 -
go语言结构体四种创建实例的方法
Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。package mainimport "fmt"type Person struct { Name string Age int}func main() { //方法一 var person Person...原创 2019-09-22 16:41:22 · 1589 阅读 · 0 评论 -
go生成随机数
先看官方文档:func (*Rand)Intnfunc (r *Rand) Intn(n int) int返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic。func (*Rand)Seedfunc (r *Rand) Seed(seed int64)使用给定的seed来初始化生成器到一个确定的状态。由此可见,我们需要生成一个Seed,...原创 2019-09-22 11:36:03 · 1311 阅读 · 0 评论 -
go语言递归
一、什么叫做递归?一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法;递归函数就是直接或间接调用自身的函数,也就是自身调用自己;二、一般什么时候使用递归?递归时常用的编程技术,其基本思想就是“自己调用自己”,一个使用递归技术的方法即是直接或间接的调用自身的方法。递归方法实际上体现了“以此类推”、“用同样的步骤重复”这样的思想,它可以用简单的程序来解决某些复杂...原创 2019-09-21 20:44:45 · 341 阅读 · 0 评论 -
go语言解析 map[string]interface{} 数据格式
注意事项map记得分配内存解析出来的int类型会变成float64类型注意判断不为nil后再转换类型package mainimport ( "fmt" "encoding/json")func main() { var m map[string]interface{} //声明变量,不分配内存 m = make(map[string]int...转载 2019-09-10 11:36:39 · 6940 阅读 · 0 评论 -
go channel 有缓存和无缓存的区别
无缓冲的与有缓冲channel有着重大差别,那就是一个是同步的 一个是非同步的。比如c1:=make(chan int) 无缓冲c2:=make(chan int,1) 有缓冲c1<-1 无缓冲: 不仅仅是向 c1 通道放 1,而是一直要等有别的携程 <-c1 接手了这个参数,那么c1&...原创 2019-08-29 09:22:54 · 1470 阅读 · 0 评论 -
go语言获取数组长度
go语言获取数组长度示例package mainimport "fmt"func main() { myArray := [3][4]int{{1,2,3,4},{1,2,3,4},{1,2,3,4}} //打印一维数组长度 fmt.Println(len(myArray)) //打印二维数组长度 fmt.Println(len(myArray[1]...原创 2019-07-24 12:03:21 · 22913 阅读 · 0 评论