go语言开发入门:GO 开发者对 GO 初学者的建议

科工人 等级 953 0 0
标签: go语言Golang

以促进 India 的 go 编程作为 GopherConIndia 承诺的一部分。我们采访了 40 位 Gophers(一个 Gopher 代表一个 GO 项目或是任何地方的 GO 程序员),得到了他们关于 GO 的意见。如果你正好刚刚开始 go 编程,他们对于我们一些问题的答案可能会对你有非常有用。看看这些。

go语言开发入门:GO 开发者对 GO 初学者的建议

应该做:

通读 the Go standard library 和 Effective Go,为了学习 GO 的规范,Effective Go 是被高度推荐的,尤其是如果你有其他语言的背景。

在 Go tour 上做练习

看完语言参考

练习 Go by Example,而不仅仅是复制粘贴!

坚持编写 GO 代码,在几周内你将会在这门语言上变得高效

理解接口的功能,他们是 GO 最大的礼物之一,可能比 channels 和 goroutines 还重要。这个关于接口的文章 article on interfaces 和 Andrew Gerrand 在 GopherCon 2014 上的 keynote 接口的描述 会对你非常有帮助。

抛弃你的 OO 的思想包袱,如果你来自于其他语言,比如动态语言 Python 或是 Ruby,或者是一个编译型语言如 Java 或 C#。GO 是一个面向对象的语言,但是它不是一个基于 class 的语言和不支持继承。

了解继承从 GO 语言中移除了。实践组合的用法而不是继承的机会显现了,并且纠结于继承只会导致你沮丧

不要以其他语言的风格编写 GO

寻找更加有经验的 Gophers,他们能帮助你 review 代码片段和给你反馈。在 GO 社区能得到真正的支持和帮助

用 GO 实现你想法中的一个项目或是找到一个项目来工作。然后随着你学习的更多,不断重构你的应用。利用邮件列表和参加 Gopher Academy Slack group 来见其他的 Gophers 来得到帮助。Dave Cheney 的博客和 GoingGo 的博客也是一个非常好的开始

不要等待泛型和函数式被添加进语言;屏住呼吸并学习爱上我们在今天拥有的这门语言

给 go 初学者分享的一些问题

对于任何人来说学习一门新语言可能都是令人挫折的。GO 社区是不可置信的活跃,你不是孤单的。利用所有的文档,博客,本地的 Meetups 和用户组,比如 Slack。不要害怕问问题和参与

如果你对 GO 感兴趣,使用它的一侧涉足,或是专业的使用它,如果本地有 Go meetup,考虑参与。如果你有货,考虑去分享它

如果你有计划旅行,并且有能力,努力去访问 GO 社区目的地

来访的用户群体是个证明这个社区有众多的用户,支持者和雇员的途径

不要浪费时间去和其他语言比较,如果你喜欢 GO,就爱上他并且去使用它

接受 Go 的文化和 GO 做事情的方式。你的代码会感谢你,如果你这样做了,你会得到很多

不要冲动的引入依赖

简单是 GO 最重要的特征。避免过分设计,使用简单的代码片段而不是单一的庞大的代码库

从其他语言移植库到 GO 是一个很好的做法,它允许你剥离他人的代码并且以符合 GO 语言的方式粘合起来。

收藏
评论区

相关推荐

Golang高阶:Golang1.5到Golang1.12包管理
版权所有,转载请注明:http://www.lenggirl.com/go/gomod.html(https://links.jianshu.com/go?tohttp%3A%2F%2Fwww.lenggirl.com%2Fgo%2Fgomod.html) 1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时
godoc 命令和 golang 代码文档管理
介绍 godoc 是 golang 自带的文档查看器,更多的提供部署服务 go doc 和 godoc 在 golang 1.13 被移除了,可以自行安装 golang.org go1.13 godoc(https://links.jianshu.com/go?tohttps%3A%2F%2Fgolang.org%2Fdoc%2Fg
为什么GOPROXY对Golang开发如此重要
为什么GOPROXY对Golang开发如此重要 引言 从Go 1.13开始,Go Module作为Golang中的标准包管理器,在安装时自动启用,并附带一个默认的GOPROXY。 但是对于其他的GOPROXY选项,比如JFrog GoCenter,以及你自己的Go Module包,你需要在公众视野中保持安全,你应该选择什么样的配置? 你怎样才能
Go 语言编程 — go mod 依赖包管理
目录 == ### 文章目录 * 目录 * go mod 依赖包管理 * 使用 go mod go mod 依赖包管理 ============ go mod 是 Golang 1.11 版本引入的依赖包管理工具。其中,Golang 对 Modules 的定义:Modules 是相关 Go Packages 的集合,是源代码交换和版本控制
Go初识
Go初识 ---- 下载安装包:[https://golang.org/dl/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgolang.org%2Fdl%2F) ### 什么是Go语言 * Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、
Go语言基础之并发
转载自[https://www.liwenzhou.com/posts/Go/14\_concurrence/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.liwenzhou.com%2Fposts%2FGo%2F14_concurrence%2F) Go语言基础之并发 ==
Go语言规范(介绍)
Google发布Go语言已经有一段时间了,但是还少有在论坛看到关于Go的讨论,几个Go语言的BBS也冷冷清清的,国内程序员对 Go语言 似乎还持观望态度。在看了它的一点特性和一段时间的试用之后,我感受到了 Go语言 给我带来的乐趣,个人觉得 Go语言 以后将会有很好的发展前景,我已经是等不及了,我要好好学习一下这门语言,当然还有对里面的大牛们产生的崇拜!^\
go mod 无法自动下载依赖包的问题
go 11以后启用了go mod功能,用于管理依赖包。 当执行`go mod init`生成`go.mod`文件之后,golang在`运行`、`编译`项目的时候,都会检查依赖并下载依赖包。 在启动了`go mod`之后,通过`go mod`下载的依赖包,不在放在`GOPATH/src`中,而是放到`GOPATH/pkg/mod`中。 比如我当前的`GO
go系列(3)
这篇讲讲如何在beego框架使用redis。 golang中比较好用的第三方开源redisclient有: * go-redis * 源码地址:[https://github.com/go-redis/redis](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgith
vs code 下安装golang支持
1)安装gocode go get -u -v github.com/nsf/gocode 2)安装godef go get -u -v github.com/rogpeppe/godef 3)安装golint go get -u -v github.com/golang/lint/golint 4)安装go-find-references g
Archlinux下Visual Studio Code配置Golang开发环境
一、Golang的安装 ----------- GoLang安装并验证一下: [cox@localhost ~]$ sudo pacman -S go [cox@localhost ~]$ go version go version go1.8.3 linux/amd64s 要注意,Golang的安装要确保两个环境变量,一个是G
Golang 开发环境搭建
Golang 是 Google 发布的开发语言,Go 编译的程序速度可以媲美 C/C++。 安装 -- sudo apt-get install golang sudo apt-get install golang-go.tools 使用 -- * 编译运行程序 go run main.go * 查看命令文
Golang1.7 Goroutine源码分析(转)
一、       Golang简介 **1.1概述** Golang语言是Google公司开发的新一代编程语言,简称Go语言,Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。 Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。而他最广为人知的特性便是语言层面
Golang代码测试:一点到面用测试驱动开发
> **摘要**:TDD(Test Driven Development),测试驱动开发。期望局部最优到全局最优,这个是一种非常不错的好习惯。 了解Golang的测试之前,我们先了解一下go语言自带的测试工具。 go test工具 --------- Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的
Go编程语言前景怎么样?参加培训好就业吗
Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。不仅可以开发web,可以开发底层,目前知乎就是用golang开发。区块链首选语言就是go,以-太坊,超级账本都是基于go语言,还有go语言版本的btcd. ![](https://oscimg.oschina.net/oscne