go语言开发交流qq群 857263711 保持进步 希望每个人都能找到自己喜欢的方式生活、工作。

2019年7月18日

go guid 和uuid生成

摘要: 1 安装 开始-运行 输入 cmd 回车 输入 go get -u github.com/typa01/go-utils 安装完毕后 2 使用 a 首先引入包 import ( goutils "github.com/typa01/go-utils" ) b 调用相应的guid uuid方法 gui 阅读全文

posted @ 2019-07-18 17:23 送欢 阅读(524) 评论(0) 推荐(0) 编辑

2019年7月16日

go select 的default

摘要: 当 select 中的其他条件分支都没有准备好的时候,`default` 分支会被执行。 为了非阻塞的发送或者接收,可使用 default 分支: package main import ( "fmt" "time") func main() { tick := time.Tick(100 * ti 阅读全文

posted @ 2019-07-16 21:42 送欢 阅读(4179) 评论(0) 推荐(0) 编辑

go select 使得一个 goroutine 在多个通讯操作上等待。

摘要: select 语句使得一个 goroutine 在多个通讯操作上等待。 select 会阻塞,直到条件分支中的某个可以继续执行,这时就会执行那个条件分支。当多个都准备好的时候,会随机选择一个。 package main import "fmt" func fibonacci(c, quit chan 阅读全文

posted @ 2019-07-16 21:12 送欢 阅读(325) 评论(0) 推荐(0) 编辑

go channel

摘要: channel 是有类型的管道,可以用 channel 操作符 <- 对其发送或者接收值。 默认情况下,在另一端准备好之前,发送和接收都会阻塞。这使得 goroutine 可以在没有明确的锁或竞态变量的情况下进行同步。 channel 定义 c := make(chan int) package m 阅读全文

posted @ 2019-07-16 20:40 送欢 阅读(221) 评论(0) 推荐(0) 编辑

go goroutine

摘要: goroutinegoroutine 是由 Go 运行时环境管理的轻量级线程。 go f(x, y, z)开启一个新的 goroutine 执行 f(x, y, z)f , x , y 和 z 是当前 goroutine 中定义的,但是在新的 goroutine 中运行 `f`。 goroutine 阅读全文

posted @ 2019-07-16 15:55 送欢 阅读(146) 评论(0) 推荐(0) 编辑

go io.Reader 接口

摘要: io 包指定了 io.Reader 接口, 它表示从数据流结尾读取。 Go 标准库包含了这个接口的许多实现, 包括文件、网络连接、压缩、加密等等。 io.Reader 接口有一个 Read 方法: Read 用数据填充指定的字节 slice,并且返回填充的字节数和错误信息。 在遇到数据流结尾时,返回 阅读全文

posted @ 2019-07-16 14:54 送欢 阅读(2832) 评论(0) 推荐(0) 编辑

go 错误

摘要: 错误 Go 程序使用 error 值来表示错误状态。 与 fmt.Stringer 类似,`error` 类型是一个内建接口: (与 fmt.Stringer 类似,`fmt` 包在输出时也会试图匹配 `error`。) 通常函数会返回一个 error 值,调用的它的代码应当判断这个错误是否等于 ` 阅读全文

posted @ 2019-07-16 14:26 送欢 阅读(187) 评论(0) 推荐(0) 编辑

go String方法的实际应用

摘要: 让 IPAddr 类型实现 fmt.Stringer 以便用点分格式输出地址。 例如,`IPAddr{1,`2,`3,`4}` 应当输出 `"1.2.3.4"`。 String()string 方法的实现 func (ip IPAddr) String() string { return fmt.S 阅读全文

posted @ 2019-07-16 13:43 送欢 阅读(280) 评论(0) 推荐(0) 编辑

go String接口方法

摘要: 该接口经常用于输出 struct 的值 或者记录struct数据日志 一个普遍存在的接口是 fmt 包中定义的 Stringer接口 发现 http://tour.studygolang.com/methods/6 中的说法有错误.经过查找go 源码Stringer的定义存放在下面的目录中 定义为 阅读全文

posted @ 2019-07-16 13:24 送欢 阅读(2536) 评论(0) 推荐(0) 编辑

go 接口

摘要: 隐式 接口 接口类型是由一组方法定义的集合。 接口类型的值可以存放实现这些方法的任何值。 类型通过实现那些方法来实现接口。 没有显式声明的必要;所以也就没有关键字“implements“。 隐式接口解藕了实现接口的包和定义接口的包:互不依赖。 package main import ( "fmt" 阅读全文

posted @ 2019-07-16 11:34 送欢 阅读(221) 评论(0) 推荐(0) 编辑

导航