一、前言
本文章主要为《走进 Go 语言基础语法》部分的笔记。
二、Go语言简介
什么是Go语言
Go语言是一种由Google开发的编程语言,它是一种静态类型、编译型、并发型的语言,具有垃圾回收功能,能让构造简单、可靠且高效的软件变得容易。
Go语言的特点
- 高性能、高并发
- 语法简单、学习曲线平缓
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
哪些公司在使用Go语言
国内:字节跳动、腾讯、美团、滴滴、百度等
国外:Google、Facebook、PingCAP等
字节跳动为什么全面拥抱Go语言
- 最初使用的Python,由于性能问题换成了Go
- C++不太适合在线Web业务
- 早期团队非Java背景
- 性能比较好
- 部署简单、学习成本低
- 内部RPC和HTTP框架的推广
三、Go语言基础
下面这段代码实现了输出hello world
package main
import (
"fmt"
)
func main() {
fmt.Println("hello world")
}
变量
下面是Go语言中几种常见的定义变量的方式
var a = "initial"
var b, c int = 1, 2
var d = true
var e float64
if else
与C++不同的是,Go语言中的判断条件不需要括号
if 7%2 == 0{
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}
循环
同样的,for循环的条件也不需要括号,这里不再展示代码。而Go语言中只有一种循环for循环。
switch
和C++类似
switch a {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
case 4,5:
fmt.Println("four or five")
default:
fmt.Println("other")
}
数组
按如下方式创建一个长度为5,类型为int的数组
var a [5]int
切片
Go语言的切片和Python类似。
Map
Map可以理解为字典,包含若干无序键值对,在Go语言中,我们可以用Make来创建Map
m := make(map[string]int)
上面的代码可以创建一个String类型键,int类型值的Map。