geek的博客

不积跬步,无以至千里;不积小流,无以成江海。

Golang 位操作符总结

位运算可能在平常的编程中使用的并不多,但涉及到底层优化,一些算法及源码可能会经常遇见,下面先回顾一下位操作符的基础: 与操作:& 1 & 1 = 1 1 & 0 = 0 0 & 1 = 0 0...

2018-02-11 11:10:01

阅读数 923

评论数 0

Golang 中 defer 的使用规则

在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先来看下面一段代码: func CopyF...

2018-02-09 00:30:24

阅读数 229

评论数 0

Golang 验证 struct 字段的数据格式

假设我们有如下结构体:type User struct { Id int Name string Bio string Email string }我们需要对结构体内的字段进行验证合法性:Id的值在某一个范围内。 Name的长度在某一个范...

2017-11-14 10:53:48

阅读数 1537

评论数 0

Golang 闭包的理解

和变量的声明不同,Go语言不能在函数里声明另外一个函数。所以在Go的源文件里,函数声明都是出现在最外层的。 “声明”就是把一种类型的变量和一个名字联系起来。 Go里有函数类型的变量,这样,虽然不能在一个函数里直接声明另一个函数,但是可以在一个函数中声明一个函数类型的变量,此时的函数称为闭包(c...

2017-05-14 19:13:35

阅读数 2146

评论数 1

Golang 中的 panic 与 recover 理解

Go没有像Java那样的异常机制,它不能抛出异常,而是使用了panic和recover机制。一定要记住,你应当把它作为最后的手段来使用,也就是说,你的代码中应当没有,或者很少有panic的东西。这是个强大的工具,请明智地使用它。先看下 Panic 和 Recover 的相关解释:Panic 是...

2017-05-07 17:28:54

阅读数 947

评论数 0

Golang 中对文件 file 操作方法总结

创建文件package mainimport ( "fmt" "log" "os" )func main() { file, err := os.Create("file.log") ...

2017-05-07 16:33:48

阅读数 2049

评论数 0

Golang 向 Templates 插入对象的值

Go对象可以插入到template中,然后把对象的值表现在template中,你可以一层层的分解这个对象,去找他的子字段,当前对象用’.’来表示,所以当当前对象是一个string的时候,你可以用{{.}}。这个包默认使用fmt包来把插入的对象转成string插入某个对象字段的值,我们在字段名字前面...

2017-04-07 14:21:03

阅读数 369

评论数 0

MongoDB 增删改查与 Golang 的语法实现

这篇文章主要建设 MongDb 中的增删改成与在 Golang 中的具体实现

2017-02-06 16:27:24

阅读数 3043

评论数 0

Golang 关于通道 Chan 详解

首先我们来看线程,在golang里面也叫goroutine在读这篇文章之前,我们需要了解一下并发与并行。golang的线程是一种并发机制,而不是并行。它们之间的区别大家可以上网搜一下,网上有很多的介绍。下面我们先来看一个例子吧import( "fmt" )fu...

2017-01-15 20:34:20

阅读数 35191

评论数 4

Golang Cron 定时任务分析

1、cron 表达式的基本格式 用过 linux 的应该对 cron 有所了解。linux 中可以通过 crontab -e 来配置定时任务。不过,linux 中的 cron 只能精确到分钟。而我们这里要讨论的 Go 实现的 cron 可以精确到秒,除了这点比较大的区别外,cron 表达式的基本...

2017-01-14 23:25:45

阅读数 5737

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭