随笔分类 - Golang
摘要:// go.mod require ( github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b ) replace github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce238
阅读全文
摘要:一、定义示例类型和变量 type People struct { Name string } people := People{Name: "xiaoming"} 二、普通占位符 占位符 说明 举例 输出 %v 默认格式 Printf("%+v", people) {xiaoming} %+v 打印
阅读全文
摘要:golang数据类型 基本类型:boolean,numeric,string类型的命名实例是预先声明的。 复合类型:array,struct,指针,function,interface,slice,map,channel类型(可以使用type构造)。 数据类型转换表 // []byte -> oth
阅读全文
摘要:regexp是go支持正则表达式的相关内置模块。 一、引入 import "regexp" 二、使用 2.1 regexp.MatchString 使用正则表达式匹配字符串 match, _ := regexp.MatchString("H(.*)!", "Hello world!") fmt.Pr
阅读全文
摘要:如下定义: mapStr := make(map[string]string) 只能储存string类型的value。 如下定义: mapInt := make(map[string]int) 只能保存int类型的value。 如下定义: mapInterface := make(map[strin
阅读全文
摘要:一、windows服务器先本地编译 go build main.go 编译后会在同级目录生成可执行文件 ./main.exe 二、linux服务器 2.1 服务器上去编译安装go,配置GOPATH 第一步,把服务器上配置成本地一样的环境 第二部,包括项目里面所依赖的包 第三步,项目源码拷贝到与服务器
阅读全文
摘要:内置包net/http。 // 服务端package main import ( "fmt" "net/http" ) // http server func sayHello(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "He
阅读全文
摘要:Go标准库Context 在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的
阅读全文
摘要:Go语言标准库log介绍 无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 log Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 使用Logger log包定义了Logger类型,该类型提供
阅读全文
摘要:Go语言基础之time包 时间和日期是我们编程中经常会用到的,本文主要介绍了Go语言内置的time包的基本用法。 time包 time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 时间类型 time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取
阅读全文
摘要:Cookie和Session Cookie和Session是Web开发绕不开的一个环节,本文介绍了Cookie和Session的原理及在Go语言中如何操作Cookie。 Cookie Cookie的由来 HTTP协议是无状态的,这就存在一个问题。 无状态的意思是每次请求都是独立的,它的执行情况和结果
阅读全文
摘要:Go语言操作Redis 在项目开发中redis的使用也比较频繁,本文介绍了Go语言如何操作Redis。 Redis介绍 Redis是一个开源的内存数据库,Redis提供了5种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化和客户端分片等特性,我们
阅读全文
摘要:Go语言操作MySQL MySQL是常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库。 Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用database/sql包时必须注入(至少)一个数据库驱动。
阅读全文
摘要:Go语言标准库之http/template html/template包实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出。它提供了和text/template包相同的接口,Go语言中输出HTML的场景都应使用text/template包。 模板 在基于MVC的Web架构中,我们通常需要
阅读全文
摘要:Go语言内置包之strconv Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换。 strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()、Itia()、parse系列、format系列、append系列。 更多函数请查看官方
阅读全文
摘要:Go语言基础之网络编程 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。 关于网络编程其实是一个很庞大的领域,本文只是简单的演示了如何使用net包进行TCP和UDP通信。如需了解更详细的网
阅读全文
摘要:Go语言基础之并发 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。 Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 Go语言的
阅读全文
摘要:https://yar999.gitbooks.io/gopl-zh/index.html
阅读全文
摘要:Go语言flag包基本使用 Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 package main import ( "fmt" "os" )
阅读全文
摘要:Go语言fmt.Scan使用指南 本文介绍了Go语言中fmt包中从标准输入获取数据的的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中获取数据的Sscan系列函数的用法。 Scan系列 Go语言fmt包下有fmt.Scan、fmt.Scanf、fmt.Scanln三
阅读全文