go
30年后世界会是怎样
这个作者很懒,什么都没留下…
展开
-
go如何设置国内代理
方法一:执行命令:go env -w GOPROXY=https://goproxy.cn,direct方法二:设置环境变量(linux, mac):export GOPROXY=https://goproxy.cn然后source一下环境变量配置文件。go get命令太慢甚至失败的问题就解决了...原创 2021-04-06 14:02:22 · 2237 阅读 · 0 评论 -
vscode go 调试模式
通过下面的命令安装dlvgo get -v github.com/go-delve/delve/cmd/dlv安装成功后,就可以添加断点,然后F5,以调试模式运行即可。原创 2021-04-06 13:49:38 · 310 阅读 · 0 评论 -
go Actor模型和CSP模型的区别
Actor模型和CSP模型的区别 Akka/Erlang的actor模型与Go语言的协程Goroutine与通道Channel代表的CSP(Communicating Sequential Processes)模型有什么区别呢? 首先这两者都是并发模型的解决方案,我们看看Actor和Channel这两个方案的不同:Actor模型 在Actor模型中,主角是Actor,类似一种worker,Actor彼此之间直接发送消息,不需要经过什么中介,消息是异步发送和处理的 Actor.转载 2021-03-31 11:51:11 · 694 阅读 · 0 评论 -
深入讲解Go语言中函数new与make的使用和区别
前言本文主要给大家介绍了Go语言中函数new与make的使用和区别,关于Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我们定义生成变量的时候,可能会觉得有点迷惑,其实他们的规则很简单,下面我们就通过一些示例说明他们的区别和使用,话不多说了,来一起看看详细的介绍吧。变量的声明var i intvar s string变量的声明我们可以通过var关键字,然后就可以在程序中使用。当我们不指定变量的默认值时,这些变量的默认值是他们的零值,比如int类型的零值是0,str转载 2021-03-31 11:30:30 · 239 阅读 · 0 评论 -
go make和new的区别
概述Go 语言中的 new 和 make 一直是新手比较容易混淆的东西。new 的主要特性首先 new 是内建函数,你可以从http://golang.org/pkg/builtin/#new这儿看到它,它的定义也很简单:func new(Type) *Type官方文档对于它的描述是:内建函数 new 用来分配内存,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配类型零值的指针根据这段描述,我们可以自己实现一个类似 new 的功能:func newIn..转载 2021-03-31 11:22:02 · 151 阅读 · 0 评论 -
go mod基本使用
go mod用来对包进行管理,在Go v1.13默认开启。 初始化 mkdir ~/goPrj/gomodTestgo mod init gotest.com/v1 在根目录下会生成一个go.mod文件 添加测试代码,生成新文件gintest.go package mainimport ( "net/http" "github.com/gin-gonic/gin")func main() { ginServ := gin.Default()转载 2021-03-31 11:12:02 · 617 阅读 · 0 评论 -
go环境变量配置 (GOROOT和GOPATH)
GOROOT就是go的安装路径 在~/.bash_profile中添加下面语句:GOROOT=/usr/local/goexport GOROOT当然, 要执行go命令和go工具, 就要配置go的可执行文件的路径:操作如下:在~/.bash_profile中配置如下:export $PATH:$GOROOT/bin如果是windows需要使用;符号分割两个路径, mac和类unix都是用:符号分割GOPATH:go install/go get和 go的工具等会用到GOPAT.转载 2021-01-18 18:53:20 · 3870 阅读 · 0 评论 -
rust go对比选择
Rust和Go似乎都是系统编程语言,都编译为机器码,并且都提供了出色的性能。那么,您如何决定哪种语言适合您的需要呢?RustRust于2010年上市,尽管它的构思可能要早得多。Rust通常被视为ML语言家族的一个扩展。Mozilla是Rust的审核人(underwriter) ,Servo browser engine(由Mozilla赞助)是使用Rust构建的。利用Rust的并发性和所有权优势的Servo项目的一些目标是:(i)改进并行性(ii)更好的安全性(iii)增加模块化(iv)优越的性能。转载 2020-11-11 15:12:09 · 8569 阅读 · 0 评论 -
go和rust的协程模型
协程协程是一种可以调度的计算单元,它和线程有很多相似的地方:可以被挂起和恢复,有自己的运行上下文。比较大的一个不同之处在于:协程的调度发生在用户态,由用户态程序来控制和管理,而线程则是由OS直接调度的。多个协程可以都在一个线程上运行,他们的运行过程是并发的,但并不能真正的并行执行。由协程调度程序来切换各个协程的运行,使它们表现得像同时在执行。简单的说,协程就是轻量级的线程,使用协程的主要目的就和使用多线程的目的一样,提高程序的性能,增加cpu的使用率。go语言中的协程模型go语言被设计为天生转载 2020-11-11 15:04:39 · 1594 阅读 · 0 评论 -
Java、Go和Rust间的比较
本文对Java、Go和Rust之间的对比并非完全是基准测试,更多的是比较输出的可执行文件大小、内存使用情况、CPU使用率、运行时要求,当然会有一个小基准测试用于获取RPS数据,使得更容易理解这些数值。为了尝试更合理比较这三者,我在这次比较中分别用每种语言写了个Web服务。该Web服务非常简单,提供了3个REST端点。制品大小介绍下我是如何构建二进制文件的。在Java示例中,我使用maven-shade-plugin[2]插件并使用mvn package命令,Go则使用go build命令,最后转载 2020-11-11 14:57:19 · 1076 阅读 · 0 评论 -
Go 语言 IDE 之 VSCode 配置使用
Gogland 是 JetBrains 公司推出的Go语言集成开发环境。Gogland 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。官方:https://www.jetbrains.com/go/。关于 Goland 相关配置参考该链接即可。Goland 用的好好的,为VSCode 是目前比较流行的 IDE 工具,在功能方面也相对齐全,使用方面也比较友好。...转载 2020-03-25 11:07:45 · 518 阅读 · 0 评论 -
go环境变量配置 (GOROOT和GOPATH)
GOROOT就是go的安装路径 在~/.bash_profile中添加下面语句:GOROOT=/usr/local/goexport GOROOT当然, 要执行go命令和go工具, 就要配置go的可执行文件的路径:操作如下:在~/.bash_profile中配置如下:export $PATH:$GOROOT/bin如果是windows需要使用;符号分割两个路径, ma...转载 2020-03-25 11:00:43 · 3173 阅读 · 0 评论