走进Go语言 | 青训营笔记

45 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 1 天,老师主要讲解了Go语言的特点、优势,以及一些基础语法等。

什么是Go语言

Go语言是谷歌出品的一门通用型计算机编程语言。它具有以下特点👇

Go语言特点

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

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

1、最初使用的Python,由于性能问题换成了Go
2、C++不太适合在线Web业务
3、早期团队非Java背景
4、性能比较好
5、部署简单、学习成本低
6、内部RPC和HTTP框架的推广

入门

开发环境·安装Golang

go.dev
studygolang.com/dl
goproxy.cn

开发环境·配置集成开发环境

可使用VSCode,直接从官网下载安装即可,但需要在左侧扩展栏中搜索Go插件,然后安装。

基础语法

Hello World

package main

import{
    "fmt"
}

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

fmt包主要用于向屏幕输入输出格式化字符串。

变量

Go语言是一门强类型语言,每一个变量都有它自己的变量类型。

package main

import{
    "fmt"
    "math"
}

func main(){
    var a = "initial"
    var b,c int = 1,2
    var d = true
    var e float64
    f := float32(e)
    fmt.Println(a,b,c,d,e,f)    //initial 1 2 true 0 0
}

if else

package main

import "fmt"

func main(){
    if 7%2 == 0{
        fmt.Println("7 is even")
    }else{
        fmt.Println("7 is odd")
    }
}

循环

在Go语言中,没有while循环,也没有do while循环,只有唯一一种for循环。

package main

import "fmt"

func main(){
    i := 1
    for{
        fmt.Println("loop")
        break
    }
    for j:= 7;j < 9;j++{
        fmt.Println(j)
    }
    for i <= 3{
        fmt.Println(i)
        i = i + 1
    }
}

switch

package main

import "fmt"

func main(){
    a := 2
    switch a{
        case 1:
            fmt.Println("1")
        case 2:
            fmt.Println("2")
        case 3:
            fmt.Println("3")
        case 4,5:
            fmt.Println("4 or 5")
        default:
            fmt.Println("other")
    }
}

这里有一个很大的不同点,那就是在C++里面,如果不写break的话,会继续往下跑完所有的case分支。但在Go中,默认是不需要加的,不会去跑其他的分支。