初探Go语言 | 青训营笔记

79 阅读3分钟

这是我参与「第五届青训营 」笔记创作活动的第1天。

第一次遇见Go

早在很久之前,学习Java的时候就听说了Golang的大名。听说很多大厂都在使用Go语言,字节跳动的使用率是最高的。人们都在讲,Go支持高性能高并发,自带GC等等特性,并且可以与Java错位竞争,这也是我参加此次青训的原因之一。其实在正式课程没开始之前,我就已经开始了Go语言的学习。学习一门语言无非是先学习该语言的基础语法,我还在慢慢的看Go的语法时,今天正式上课的短短30分钟便把基础语法讲完了。一方面是我平时较为懒散,另一方面也体现出字节的效率之高。

Go的安装及下载

学习一门语言当然要安装它。我并没有按照网上的一些教程去走,而是直接走到了最信任的Jetbrain官网,下载了Goland。傻瓜式的安装好Goland,打开后软件便会提醒你没有Go的sdk,此时只需在提示框一点,便可直接安装,十分方便快捷。 伴随着的hello,world!的成功输出,足以证明我们已经成功的安装好了环境。

package main

import (
   "fmt"
)

func main() {
   fmt.Println("hello world")
}

image.png

Go的小特点

基础语法有许多网站可以随时查询,如 (Go 语言教程 | 菜鸟教程 (runoob.com)) (前言 · Go语言圣经 (studygolang.com))等等。此处想写一点作为Java、Python选手感受到一些小特点。

  • if 和 for语句后的条件没有小括号,而之后的语言必须写在大括号里面。如
for i <= 3 {
   fmt.Println(i)
   i = i + 1
}
  • switch语言不必显式声明break。这个优化让人感觉到Go的更加现代化。
  • 另外Go语言开发团队为了统一代码格式,Go甚至自带了一个格式化工具gofmt(或者go fmt),该工具会从包级别而非源文件以标准样式的缩进和垂直对齐方式对源代码进行格式化,甚至必要情况下注释也会重新格式化。 也就是说,在写go代码时,无需过多的关注排列结构和对齐等,最后使用gofmt格式化完就都变成统一风格了。这一点对强迫症选手颇为友好。

还会再见吗Go?还会再见的

第二节课的40分钟,老师带领我们做了三个项目。第一个猜数字对Go的语法进行了再次熟悉。后面两个项目,在线词典和SOCKS5,则让我体会到了Go在网络编程这块的快速开发能力。至此已对作者Go语言产生了更强大的兴趣,并打算写完文章就去接着学习Go哈哈。我们会再见的,Go!

小结

今天的课程讲述了Go的基本语法和三个小项目。看老师讲的云淡风轻,其实自身学习过程中还是有一定压力的。尤其是SOCKS5代理服务器里面用到的一些计算机网络知识,以及一些命令,这些知识我是较为匮乏的。当然我也不会气馁,勤能补拙。至此,文章结束,我也该接着学习了。感谢观看!