如何成为 go 开发者账号_如何成为开发者

go (80) 2023-03-24 21:49

大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。

这个问题是一个仁者见仁智者见智的问题,我之前是从java 转go 的,最近在折腾rust,感觉go 是目前我使用的几种语言里面最简单的一个,因为它提供的可选项非常少,需要开发者记住的东西非常少,和Python差不多,很容易上手。下面我简单分享一下如何成为Go开发者。先来一个总体的roadmap。

如何成为 go 开发者账号_如何成为开发者_https://bianchenghao6.com/blog_go_第1张

基本语法

我建议在安装完环境后,先执行下面的代码,先让你的第一个hello world程序跑起来。然后再开始学习,好的开始是成功的一半。

package main
import "fmt"

func main() {
    fmt.Printf("Hello World")
}

go的基本语法非常少:变量(包括了切片、map和数组)、函数、err处理、struct、接口、go协程和channel。如果有其他语言基础,很快就能搞定。go虽然有指针,但不需要手动释放,使用起来非常简单。

常用库

我们不可能啥都去造轮子,所以我们经常会引用第三方库,这里顺便看一下go的包管理go mod。这里介绍几个常用的库:http库帮我们几行代码启动一个http server,相关代码之前文件已经发过了。如果做web api开发,还需要使用一些高级web框架,比如gorilla、gin还有beego等,选一两个学习一下。还需要学习一下go 如何读写数据库,这里我默认你是知道SQL的,go操作数据库我推荐一个项目 gorm,使用非常简单。

其实,说实话,学到这里你基本可以上手写一点简单的项目了,我们也可以尝试用go去重写一些常用面试算法,后续的其他东西在工作中,一边写一边学。如果从学习路径上说,后续还得学点其他东西。

go 测试

尤其是在编写大项目的时候,go 测试必不可少,这里包含了函数单测、单元测试、集成测试以及e2e 测试。go还提供了性能测试benchmark,非常有用。

设计模式和编程范式

这个其实本质上和编程语言无关,只不过要熟悉在go 语言里面如何实现罢了。这里也建议多去看看GitHub上面各种开源实现。你会发现go 的开源项目非常易读,因为go本身的语法就非常少,基本没有特殊用法。

go面试题

如果你想找一个go 的工作,还得准备一些go的面试题,我个人经常提问主要是:go协程实现原理、如何停止一个协程、go垃圾回收、go如何操作大文件、go channel原理、go struct 对齐、go func接受者是指针还是值的区别等,基本上网上找找就可以了。希望这些东西能帮助到各位!

发表回复