go
Jacano
这个作者很懒,什么都没留下…
展开
-
【Go】理解go语言中的http包
go提供了详细且完整的标准库,同样我们使用go语言中的http包也非常方便,只需要几行代码便可以开启一个服务。现在,我们尽量使用代码理解下http包中的工作原理。package mainimport ( "fmt" "log" "net/http")func helloWeb(w http.ResponseWriter, r *http.Request) { fmt.Fprin...原创 2020-02-13 18:34:11 · 590 阅读 · 0 评论 -
【Go】go语言中的几点细节
Go是门简洁、高效的语言,因为在底层封装了许多东西,在go的编写中有许多细节需要我们留意,此文章尽可能通过代码来列举一些go语言中的细节(keng)。1.func main() { slice := []int{0, 1, 2, 3} m := make(map[int]*int) for key, val := range slice { m[key] = &val ...原创 2020-02-12 16:57:43 · 218 阅读 · 0 评论 -
【Go】go--反射
反射反射是指在程序运行时来检查变量的结构对于接口来说才有反射概念接口因为有接口才有反射,在理解反射前要理解下接口对于每一个接口变量,它都在底层保存了一对值(pair):接口的值和类型。接口变量的静态类型在编译期间就已经确定,并且只有一个静态类型。var r io.Readerr = os.Stdinr = bufio.NewReader(r)r = new(bytes....原创 2020-01-13 11:12:39 · 225 阅读 · 0 评论 -
【Go】go中的死锁
go语言中的协程(goroutine)和通道(channel)提供非常好的处理并发的方式,基于协程(goroutine)和通道(channel)可以将并发中的数据简单化。但用不好则会带来许多问题,死锁就是协程出现问题的一种表现形式。那什么是死锁?按照我对go死锁的理解,就是在程序中的代码被阻塞了,运行不下去,导致程序报错。在go语言中,主要存在这几种死锁情况1.无缓冲通道的死锁packag...原创 2020-01-06 22:53:05 · 331 阅读 · 0 评论 -
【Go】go mod 模块化
很多语言有专门的工具或者库来管理项目中的依赖包或第三方库,比如java有maven,javascript有npm。但对于go 来说,v1.1之前是没有内置的go模块工具的,项目文件需要放在GOPATH/src下来运行,这样的工作方式比较强制,可能会降低效率。在v1.1之后,go提供了内置的go mod工具,通过go mod我们可以愉快的进行go依赖包的管理和升级。go mod 常用命令down...原创 2019-11-17 20:22:24 · 276 阅读 · 0 评论