最近在进行开发的时候需要用到第三方的库,所以使用go get下载,但是因为网络的原因基本没有下载成功的。
在github上发现了goproxy项目,只需要设置下就可以使用国内的代理,下载起来那是嗖嗖滴
最近在进行开发的时候需要用到第三方的库,所以使用go get下载,但是因为网络的原因基本没有下载成功的。
在github上发现了goproxy项目,只需要设置下就可以使用国内的代理,下载起来那是嗖嗖滴
新版本的 Go1.11,默认开启了 go mod 功能,可通过如下命令行 开启/关闭 它:
# 开启 go env -w GO111MODULE=on # 关闭 go env -w GO111MODULE=off
可以通过go get形式下载Go官方扩展包,也可通过git clone形式下载

2016年国庆节(10月1日)开始接触 Go 语言,记录一下它的 版本发布 与 TIOBE 排名:
| Golang 排行榜 | |||
|---|---|---|---|
| 月份 | 版本 | 排名 | 备注 |
| 2012.03 | 1.0 | ||
| 2015.08 | 1.5.0 | v1.5 发布,完全移除 C,使用 Go 编译 Go | |
| 2015.09 | 1.5.1 | ||
| 2015.12 | 1.5.2 | ||
看过很多方面的编码规范,可能每一家公司都有不同的规范,这份编码规范是写给我自己的,同时希望我们公司内部同事也能遵循这个规范来写Go代码。
如果你的代码没有办法找到下面的规范,那么就遵循标准库的规范,多阅读标准库的源码,标准库的代码可以说是我们写代码参考的标杆。
go默认已经有了gofmt工具,但是我们强烈建议使用goimport工具,这个在gofmt的基础上增加了自动删除和引入包。
go get golang.org/x/tools/cmd/goimports
现在假设有这么一个场景,你定义了一个struct叫做长方形,你现在想要计算他的面积,那么按照我们一般的思路应该会用下面的方式来实现
package main
import "fmt"
type Rectangle struct {
width, height float64
}
func area(r Rectangle) float64 {
return r.width*r.height
}
func main() {
r1 := Rectangle{12, 2}
r2 := Rectangle{9, 4}
fmt.Println("Area of r1 is: ", area(r1))
fmt.Println("Area of r2 is: ", area(r2))
}
这段代码可以计算出来长方形的面积,但是area()不是作为Rectangle的方法实现的(类似面向对象里面的方法),而是将Rectangle的对象(如r1,r2)作为参数传入函数计算面积的。
c <- 123,把值 123 输入到管道 c,<-c,把管道 c 的值读取到左边,value := <-c,这样就是读到 value 变量里面。Golang 定位解决分布式系统,服务器应用开发,主要竞争对手是 Java、Python 之类;Rust 定位解决单机安全问题,高性能场景偏系统底层开发,主要竞争对手就是 C 和 C++。