Go 语言基础|青训营

38 阅读2分钟

一、前言

本文章主要为《走进 Go 语言基础语法》部分的笔记。

二、Go语言简介

什么是Go语言

Go语言是一种由Google开发的编程语言,它是一种静态类型、编译型、并发型的语言,具有垃圾回收功能,能让构造简单、可靠且高效的软件变得容易。

Go语言的特点

  1. 高性能、高并发
  2. 语法简单、学习曲线平缓
  3. 丰富的标准库
  4. 完善的工具链
  5. 静态链接
  6. 快速编译
  7. 跨平台
  8. 垃圾回收

哪些公司在使用Go语言

国内:字节跳动、腾讯、美团、滴滴、百度等
国外:Google、Facebook、PingCAP等

字节跳动为什么全面拥抱Go语言

  1. 最初使用的Python,由于性能问题换成了Go
  2. C++不太适合在线Web业务
  3. 早期团队非Java背景
  4. 性能比较好
  5. 部署简单、学习成本低
  6. 内部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。