![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
mrtwenty
努力学习
展开
-
Centos7安装Golang
官方下载: https://golang.google.cn/dl/ ,系统是linux,所以我们选择这个包下载:cd /usr/local/src/wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz下载完成后,我们解压至/usr/local/下,并配置环境变量GOROOTtar zxvf go1.12.6.linu...原创 2019-06-21 11:40:10 · 247 阅读 · 0 评论 -
Golang学习资料汇总
go语言圣经一份很好的go学习笔记golang笔记The Way to Go 中文正式名《Go 入门指南》go中文开发手册go语言高级编程go标准库煎鱼的博客https://book.eddycjy.com/golang/web 相关:go web编程...原创 2019-07-28 23:55:29 · 604 阅读 · 0 评论 -
Go交叉编译
Golang的交叉编译要保证golang版本在1.5以上windows上编译linux可执行文件:SET GOOS=linuxSET GOARCH=amd64go build main.golinux上编译windows可执行文件:GOOS=windows GOARCH=amd64 go build main.go...原创 2019-07-09 15:06:34 · 524 阅读 · 0 评论 -
Golang之go mod
当我们在Centos上安装好Golang,默认的编写的代码都存放在/root/go/src目录下,这是Golang原有的机制,从Go11开始,我们可以在任一目录下进行开发,使用go mod机制来管理我们的项目。查看https://goproxy.io/在服务器上进行配置。1、编辑文件 vim /root/.bash_profile 2、加入下面的内容# En...原创 2019-08-04 11:34:54 · 1399 阅读 · 0 评论 -
Golang比较浮点数,运算
Golang浮点数比较和运算会出现误差,我们来看看下面的例子:package mainimport "fmt"func main(){ var a float64=1.5 var b float64=1.3 var result float64=a-b if result==0.2 { fmt.Println("相等") }else{ fmt.Println("...原创 2019-07-08 14:20:44 · 8886 阅读 · 0 评论 -
Golang的math/big 包
大数处理,可以用golang的math/big包package mainimport ( "fmt" "math/big")func main() { //设置一个大于int64的数 a := new(big.Int) a, ok := a.SetString("9122322238215458478512545454878168716584545412154785452...原创 2019-06-14 12:24:25 · 4292 阅读 · 0 评论 -
Golang 切片基本操作
append函数可以将两个切片合并: append(slice1,slice2...)定义一个切片可以用 make函数,也可以直接声明 var slice1=[]int{1,2,3}make函数可以预先分配多些空间,降低多次分配空间造成的性能问题。var slice = make([]int, 2, 10)package mainimport ( "fmt" "re...原创 2019-06-18 15:44:47 · 1267 阅读 · 0 评论 -
Golang的strings包的常用操作
Golang中的string类型,是基本数据类型,一般对于字符串的操作基本就是查找、分割、匹配、替换,统计长度,遍历,笔记如下,方便以后查找:package mainimport ( "fmt" "strings")func main() { //字符串替换 var a string="Hello World" fmt.Println(strings.Replace(a...原创 2019-06-14 23:32:43 · 285 阅读 · 0 评论 -
Golang下的目录和文件的基本操作
目录、文件的创建、删除、存在与否package mainimport ( "fmt" "os")//判断文件或者文件夹是否存在,一般判断第一个参数即可,第二个参数可以忽略,或者严谨一些,把err日志记录起来func FileExists(file string) (bool, error) { _, err := os.Stat(file) if err == nil {...原创 2019-06-17 16:25:08 · 3993 阅读 · 0 评论 -
Golang读取文件内容
可以一次性读取,也可以按行读取,也可以按字节读取,一般小文件直接一次性读取,当文件内容太大,内存不足,建议逐行读取处理。package mainimport ( "bufio" "fmt" "io" "io/ioutil" "os")func main() { //1、一次性读取文件内容,还有一个 ReadAll的函数,也能读取 data, err := ioutil...原创 2019-06-18 13:33:59 · 12899 阅读 · 0 评论 -
Golang操作Redis,基本操作
Golang操作Redis,先下载一个第三方的包:go get github.com/garyburd/redigo/redisRedis安装就不必介绍了,我们直接看代码,代码演示基本命令,包括连接,密码认证AUTH、设置key、删除key、测试连接PING、设置过期时间、判断键是否存在,获取键的类型。package mainimport ( "fmt" "github...原创 2019-06-24 14:51:50 · 1643 阅读 · 0 评论 -
Golang操作Redis之有序集合 zset
看代码, 有序集合适用于排行榜。package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { conn, err := redis.Dial("tcp", "127.0.0.1:6379", redis.DialPassword("123456")) if err != nil {...原创 2019-06-24 22:34:18 · 2348 阅读 · 0 评论 -
Golang使用第三方包viper读取yaml配置信息
Golang有很多第三方包,其中的viper 支持读取多种配置文件信息。本文只是做一个小小demo,用来学习入门用的。1、安装 go get github.com/spf13/viper2、编写一个yaml的配置文件,config.yamldatabase: host: 127.0.0.1 user: root dbname: test pwd: 12345...原创 2019-07-28 23:41:26 · 11622 阅读 · 0 评论 -
Golang实现php的两个函数password_hash和password_verify
利用golang.org/x/crypto/bcrypt 包里面实现,使用前请先 go get 安装此包。对用户的密码进行hash处理,可以用下面两个函数实现。package mainimport ( "fmt" "golang.org/x/crypto/bcrypt")func PasswordHash(password string) (string, error) ...原创 2019-06-14 10:22:28 · 2592 阅读 · 0 评论 -
Golang实现crc32、md5、sha1函数
package mainimport ( "crypto/md5" "crypto/sha1" "encoding/hex" "fmt" "hash/crc32")// 生成md5func MD5(str string) string { c := md5.New() c.Write([]byte(str)) return hex.EncodeToString(c.S...原创 2019-06-18 17:01:57 · 10684 阅读 · 0 评论 -
Golang实现json的序列化和反序列化
Golang的标准库中"encoding/json"包含了对json的处理,Golang的数据类型与json的类型的转化规则为:Golang 数据类型 JSON 数据类型 bool Boolean int、float Number string String struct Object array、slice Array []byte...原创 2019-07-28 17:18:20 · 2238 阅读 · 0 评论 -
Golang类型转换, 整型转换成字符串,字符串转换成整型
package mainimport ( "fmt" "reflect" "strconv")func main() { //字符串转成整型int num,err:=strconv.Atoi("123") if err!=nil { panic(err) } fmt.Println(num,reflect.TypeOf(num)) //整型转换成字符串 str...原创 2019-06-18 22:46:12 · 2611 阅读 · 0 评论 -
Golang实现对数据库的操作,查询、添加、修改、删除、事务
Golang的database/sql提供了统一的标准数据库接口,不同的数据库有不同的数据库驱动,例如mysql的,有个github.com/go-sql-driver/mysql 包可以用,编写代码之前,请先 go get github.com/go-sql-driver/mysql下面是demo:package mainimport ( "database/sql" "fm...原创 2019-06-19 16:42:01 · 3169 阅读 · 0 评论 -
Golang实现两个函数,输出当前时间戳,格式化时间戳,为需要的时间格式
Golang的时间格式比较蛋疼,必须指定格式化字符为2006-01-02 15:04:05 ,所以重新定义了一个函数,方便自己使用:package mainimport ( "fmt" "strings" "time")//时间戳func Time()int64{ return time.Now().Unix()}//时间戳格式化成时间格式//参数一是字符格式...原创 2019-06-14 21:05:50 · 376 阅读 · 0 评论 -
Golang使用sqlx包实现对mysql的操作
要sqlx包,需要先安装go get github.com/jmoiron/sqlxgo get github.com/go-sql-driver/mysqlpackage mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "time...原创 2019-06-20 16:15:21 · 3556 阅读 · 0 评论