Golang
奔跑的码农
热爱web开发,热爱生活!
展开
-
goroutine调度原理
goroutine简介golang语言作者Rob Pike说,“Goroutine是一个与其他goroutines 并发运行在同一地址空间的Go函数或方法。一个运行的程序由一个或更多个goroutine组成。它与线程、协程、进程等不同。它是一个goroutine“。goroutine通过通道来通信,而协程通过让出和恢复操作来通信; goroutine 通过Golang 的调度器进...原创 2020-03-21 14:43:53 · 515 阅读 · 0 评论 -
Go(Golang)安装教程
个人推荐采用源码安装或者第三方工具安装。一、源码安装1.设置Go的环境变量GOROOT_BOOTSTRAP 这个目录在安装 Go 1.5 版本及之后的版本时需要设置。由于在 1.4 版本后,Go 编译器实现了自举,即通过 1.4 版本来编译安装之后版本的编译器。如果不设置该环境变量的话,会产生这样一个错误“Set $GOROOT_BOOTSTRAP to a working Go tree >...原创 2018-03-26 10:54:02 · 11084 阅读 · 0 评论 -
Go 创建和编译应用包
代码目录结构规划上一篇文章我们已经简单介绍过GOPATH了:GOPATH目录约定有三个子目录:src 存放源代码pkg 编译后生成的文件bin 编译后生成的可执行文件src目录就是接下我们存放项目代码的主要目录,按照一个目录一个项目存放即可。当新建应用或者代码包时,在src目录下新建一个文件夹,文件夹名称一般是代码包名称,允许有多级目录。创建包cd $GOPATH/srcmkdir mytest...原创 2018-03-27 15:24:12 · 8262 阅读 · 0 评论 -
GoLang之协程
目前,WebServer几种主流的并发模型:多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求;但在高并发环境下,多线程的开销比较大;基于回调的异步IO,如Nginx服务器使用的epoll模型,这种模式通过事件驱动的方式使用异步IO,使服务器持续运转,但人的思维模式是串行的,大量回调函数会把流程分割,对于问题本身的反应不够自然;协程,不需要抢占式调度,可以有效提高线程的任务并...转载 2018-04-04 17:24:47 · 760 阅读 · 0 评论 -
Golang中string、int、int64互相转换
使用官方的strconv包即可:#string到int int,err:=strconv.Atoi(string) #string到int64 int64, err := strconv.ParseInt(string, 10, 64) #int到string string:=strconv.Itoa(int) #int64到string string:=strconv...原创 2018-04-24 12:29:41 · 15443 阅读 · 0 评论