go语言学习
文章平均质量分 56
韦小龙
这个作者很懒,什么都没留下…
展开
-
go语言defer的使用
Go语言的defer(延迟执行)语句,是在函数结束前执行,而如果在函数中有多个defer语句时,会像一个堆栈一样,先进后出,后进先出。defer语句在进行一些打开资源的操作时,遇到错误需要提前返回,在返回前你需要关闭相应的资源,不然很容易造成资源泄露等问题上很试用。举个defer语句简单的使用如下:package mainimport "fmt"func funca() {原创 2018-01-22 12:09:36 · 901 阅读 · 0 评论 -
Go连接MySql数据库too many connections错误解决
转自:https://studygolang.com/articles/3049这几天用Go写了个简陋的服务器,连接Mysql数据库,提供api给其他程序调用来实现增删改产等服务。Go的版本是1.2,使用的驱动是go-sql-driver/mysql。但是在有一定量的查询结果以后,会出先too many connection的错误。 google了一下,很多文章都建议转载 2018-01-22 14:40:27 · 1607 阅读 · 0 评论 -
go语言与MySQL数据库(连接池)
下载安装驱动go get github.com/go-sql-driver/mysql导入包:import "database/sql"import _ "github.com/go-sql-driver/mysql"使用sql.Open函数创建一个连接池对象,不是单个连接。在open的时候并没有去连接数据库,只有在执行query、exce方法的时候才会去实际连接数据原创 2018-01-22 21:03:49 · 7050 阅读 · 0 评论 -
go语言匿名函数
go语言匿名函数的写法,这是一个不带参数的写法func() {}()这个是带参数的方法,c是实参,a是形参func(a int) { fmt.Println(a) }(c)原创 2018-01-20 19:40:54 · 423 阅读 · 0 评论 -
编译后的go程序无法在alpine基础镜像创建的容器运行问题
问题描述:我要使用容器创建一个使用golang的http的服务,为了不让镜像太大,所以选择了基础镜像alpine,才几m,但把go的程序编译之后无法在容器中运行,解决办法是在编译go程序时,加上参数-tags netgo。具体做法如下:1、首先下载apline基础镜像:docker pull docker.io/alpine2、编译go程序:(我的程序是sensor.go,编...原创 2019-01-17 19:42:31 · 3600 阅读 · 0 评论