Go语言基础语法入门指南 | 伴学笔记

36 阅读5分钟

Golang作为一门拥有高性能、高并发、语法简单和学习曲线平缓等多种优点的先进编程语言,其基础语法与其他语言也基本相似,下面我会对其中部分进行入门介绍:

1、变量

变量类型

go语言作为一门强类型语言,每一个变量都有它自己的变量类型。常见的变量类型包括字符串、整数、浮点型、布尔型等。

  1. 字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。
  2. 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。
  3. 字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。

变量声明

1、指定变量类型,如果没有初始化,则变量默认为零值。

package main
import "fmt"
func main() {

    // 声明一个变量并初始化
    var a = "RUNOOB"
    fmt.Println(a)

    // 没有初始化就为零值
    var b int
    fmt.Println(b)

    // bool 零值为 false
    var c bool
    fmt.Println(c)
}

2、根据值自行判定变量类型。

package main
import "fmt"
func main() {
    var d = true
    fmt.Println(d)
}

3、使用 := 声明变量

package main
import "fmt"
func main() {
    f := "Runoob" // var f string = "Runoob"

    fmt.Println(f)
}

2、if-else等条件语句语句

Go语言提供了以下几种条件判断语句:

[if 语句]if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
[if...else 语句]if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[if 嵌套语句]你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[switch 语句]switch 语句用于基于不同条件执行不同动作。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[select 语句]select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
例如:
package main

import "fmt"

func main() {
   /* 局部变量定义 */
   var a int = 100;
 
   /* 判断布尔表达式 */
   if a < 20 {
       /* 如果条件为 true 则执行以下语句 */
       fmt.Printf("a 小于 20\n" );
   } else {
       /* 如果条件为 false 则执行以下语句 */
       fmt.Printf("a 不小于 20\n" );
   }
   fmt.Printf("a 的值为 : %d\n", a);

}

3、循环语句

go语言中提供了以下几种类型的循环处理语句:

循环类型描述
[for 循环]重复执行语句块
[循环嵌套]在 for 循环中嵌套一个或多个 for 循环
go语言也支持以下几种循环控制语句:
控制语句描述
-----------------------------------------------------------------------------------------------
[break 语句]经常用于中断当前 for 循环或跳出 switch 语句
[continue 语句]跳过当前循环的剩余语句,然后继续进行下一轮循环。
[goto 语句]将控制转移到被标记的语句。

4、数组

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。

相对于去声明 number0, number1, ..., number99 的变量,使用数组形式 numbers[0], numbers[1] ..., numbers[99]  更加方便且易于扩展。

声明数组

声明数组语法格式如下:

var arrayName [size]dataType

其中,arrayName 是数组的名称,size 是数组的大小,dataType 是数组中元素的数据类型。

初始化数组

var numbers [5]int

上述实例声明一个名为 numbers 的整数数组,其大小为 5,在声明时,数组中的每个元素都会根据其数据类型进行默认初始化,对于整数类型,初始值为 0。

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

上述定义了数组 balance 长度为 5 类型为 float32,并初始化数组的元素。

注意: 在 Go 语言中,数组的大小是类型的一部分,因此不同大小的数组是不兼容的,也就是说 [5]int 和 [10]int 是不同的类型。

访问数组元素

package main

import "fmt"

func main() {
   var n [10]int /* n 是一个长度为 10 的数组 */
   var i,j int

   /* 为数组 n 初始化元素 */         
   for i = 0; i < 10; i++ {
      n[i] = i + 100 /* 设置元素为 i + 100 */
   }

   /* 输出每个数组元素的值 */
   for j = 0; j < 10; j++ {
      fmt.Printf("Element[%d] = %d\n", j, n[j] )
   }
}

以上演示了数组完整操作(声明、赋值、访问)的实例,其执行结果如下:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

5、学习总结

在本次的伴学笔记中,我通过做学知识和整理对golang中部分入门语法进行了简单介绍。通过撰写介绍,我对go语言的基础知识也又进行了一次巩固,希望接下来的时间里我能继续一边接受新知识、一边巩固所学知识。