GO语言基础语法 | 青训营笔记

84 阅读2分钟

一.Go语言基础语法

1. 认识Go语言

Go语言的优点

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

2. 入门

2.1 开发环境

开发环境可以选择以下三种:

  1. Goland
  2. VSCode
  3. 云开发环境

2.2 基础语法 Hello World

 package main
 ​
 import (
     "fmt"
 )
 ​
 func main() {
     fmt.Println("Hello World!")
 }

2.3 变量类型

Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。

 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)
     g := a + "foo"
     fmt.Println(a, b, c, d, e, f)
     fmt.Println(g)
 ​
     const s string = "constant"
     const h = 50000000
     const i = 3e20 / h
     fmt.Println(s, h, i, math.Sin(h), math.Sin(i))
 }

go语言是强类型语言, 每一个变量都有它自己的变量类型.

常见的变量类型包括 字符串, 整数, 浮点, 布尔型等.

go语言的字符串是内置类型, 可以直接通过加号拼接, 也能够直接用等于号去比较.

go语言有两种变量声明方式:

  • 一种是通过 var str string = "xxx"这种方式声明
  • 另一种是 变量 := 变量值

2.3 if else

go语言的 if else 语言会自动去掉 if 后的括号, 同时 if 后要接大括号

2.4 循环

go语言里没有 while 循环, do while 循环, 只有 for 循环. for循环中什么都不写, 代表一个死循环, 可以通过跳转语句, 如break 跳出.

2.5 switch

go语言里的switch case 不需要加 break. 同时, 可以使用任意的变量类型. 特别用法 switch后不加任何变量, 在case里面写条件分支, 这样可以使代码逻辑更加清晰.

2.6 数组

数组是一个具有编号且长度固定的元素序列.

2.7 切片

切片不同于数组, 它可以任意更改长度, 有更多的操作. 可以使用 make 创建一个切片, 可以像数组一样取值, 使用 append 来追加元素

2.8 匿名变量

使用多重赋值时,如果不需要在左值中接受变量,可以使用匿名变量

匿名变量以“_”下划线表示

匿名变量不占用命名空间,也不会分配内存。匿名变量可以重复声明使用

*“_”本身就是一个特殊的标识符,被称为空白标识符。它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用这个标识符作为变量对其它变量进行赋值或运算。