GO语言入门记录(一) | 青训营

81 阅读4分钟

Go语言是由谷歌开发的一种编译型静态语言,它具有简洁、高效和并发特性。本文将介绍Go语言的基本语法,包括变量、函数、流程控制、结构体和接口等。

1. 变量和数据类型:

Go语言使用var关键字声明变量,例如:var a int,声明了一个名为a的整型变量。 Go语言支持多种数据类型,包括整型(int)、浮点型(float64)、字符串(string)、布尔型(bool)等。

2. 函数:

Go语言使用func关键字定义函数,例如:func add(a, b int) int { return a + b },定义了一个名为add的函数,接收两个整型参数a和b,并返回它们的和。 Go语言支持多返回值,例如:func swap(a, b int) (int, int) { return b, a },定义了一个交换两个整型值的函数。

3. 流程控制:

Go语言使用if-else语句进行条件判断,例如:

if age >= 18 {
       fmt.Println("成年人")
   } else {
       fmt.Println("未成年人")
   }

Go语言使用for循环进行迭代,例如:

for i := 0; i < 10; i++ {
    fmt.Println(i)
}

Go语言还支持switch语句进行多分支选择,例如:

switch day {
case 1:
    fmt.Println("星期一")
case 2:
    fmt.Println("星期二")
default:
    fmt.Println("其他")
}

4. 结构体和方法:

Go语言使用type关键字定义结构体
例如:

type Person struct { name string; age int }

定义了一个名为Person的结构体,包含name和age两个字段。 可以为结构体定义方法
例如:

func (p Person) getName() string { return p.name }

定义了一个名为getName的方法,用于获取Person结构体的name字段的值。

5. 接口:

Go语言使用interface关键字定义接口
例如:

type Shape interface { area() float64 }

定义了一个名为Shape的接口,包含一个名为area的方法。 结构体可以实现接口
例如:

type Circle struct { radius float64 }
func (c Circle) area() float64 { return math.Pi * c.radius * c.radius }

定义了一个名为Circle的结构体,实现了Shape接口的area方法。

6. 包和导入:

Go语言使用包(package)来组织代码,每个Go文件都属于一个包。使用关键字import导入其他包
例如:

import "fmt"

导入了fmt包,可以使用其中的函数和方法。

7. 数组和切片:

Go语言支持数组和切片。数组是具有固定长度的相同类型元素集合,定义方式为

var arr [5]int

切片是对数组的抽象,可以动态增长,定义方式为

var slice []int

8. 指针:

Go语言支持指针,可以使用&操作符获取变量的地址,使用*操作符获取指针指向的值。
例如:

var x int = 10
var ptr *int = &x

通过ptr可以访问到x的值。

9. 结构体嵌套和匿名字段:

Go语言支持结构体的嵌套,一个结构体可以包含其他结构体作为字段。还可以使用匿名字段,即字段没有显式的名称,可以直接访问嵌套结构体的字段。


作为一个初学者,经过初步学习,我认为Go语言是一门非常适合入门的编程语言,具有以下特点:

  • 简洁易学:Go语言的语法非常简洁,相较于其他语言,它的关键字和语法元素较少,代码看起来更加清晰易懂。这使得初学者可以快速上手,并且减少了学习的难度。

  • 高效性能:Go语言的编译器和运行时系统被设计得非常高效,它能够提供接近于C/C++的性能。这使得Go语言非常适合构建高性能的后端服务和并发程序。

  • 并发特性:Go语言天生支持并发编程,通过goroutine和通道的机制,可以轻松地编写并发程序。这让处理并发任务变得简单而安全,对于开发并行和分布式系统非常有优势。

  • 标准库丰富:Go语言的标准库提供了许多强大且易于使用的功能和工具,涵盖了网络编程、文件操作、加密解密、并发编程等众多领域。这使得开发人员可以减少对第三方库的依赖,更加方便地开发应用程序。

当然,每个人对编程语言的评价可能会有所不同。但总的来说,作为初学者,我认为Go语言是一门简洁、高效和并发性强的编程语言,非常适合用于构建各种类型的应用程序。