Go 语言入门指南:基础语法和常用特性解析 | 青训营

98 阅读3分钟

Go 语言入门指南:基础语法和常用特性解析

Go 语言,也被称为 Golang,是 Google 于 2009 年开发的一种静态类型,编译型语言,被广泛用于创建高性能的服务器和工具。 本文作为一篇入门指南,是小编通过字节青训营的课程学习以及网上的相关资料总结出来的一篇文章,同时也是小编第一次发布这种文章,有不足之处请各位掘友指正鸭😁

一、 Go 语言的基础语法

1.1 变量声明

在 Go 语言中,我们使用 var 关键字来声明变量。例如,声明一个名为 message 的字符串变量,我们可以这样写:

var message string

我们也可以在声明变量时直接赋值:

var message string = "Hello, World!"

注意:这里的变量类型是放在变量名前面的哦~ 或者使用类型推断,让 Go 自动推断变量的类型:

var message = "Hello, World!"

甚至可以省略 var 关键字,使用 := 运算符进行简短声明(小编最喜欢这种偷懒的方式啦😆):

message := "Hello, World!"

1.2 函数

最基础的函数就是main函数,运行下面这段代码就可以获得hello world的输出结果

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

函数在 Go 中使用 func 关键字定义。一个简单的函数定义如下:

func greet(name string) string {
    return "Hello" 
}

调用此函数的方式如下:

message := greet("World")
fmt.Println(message)

1.3 数组和切片

数组是具有固定长度的特定类型元素的集合,而切片则是长度可变的。例如:

var numbers [5]int
numbers[0] = 1
var slice []int = numbers[0:2]

1.4 结构体

结构体是一种聚合数据类型,可以组合多个不同类型的字段。例如:

type Person struct {
    Name string
}
var person Person
person.Name = "Bob"

结构体还可以添加相应的方法。例如:

func (p Person) show() {
    fmt.println(p.Name,p.Age)
}

上述代码中show即为结构体中的一个方法,调用这一方法就可以获得相应输出

二、 Go 语言的常用特性

2.1 并发

Go 语言的一个显著特点是其原生支持并发。Go 使用 goroutinechannel 两个概念来实现并发。goroutine 是轻量级的线程,而 channel 则是用来安全地在 goroutine 之间传递数据的。 下面是一个简单的并发示例:

func sayHello() {
    fmt.Println("Hello, World!")
}
func main() {
    go sayHello()
}

2.2 接口

接口定义了一个行为的集合。例如:

type Phone interface { 
    speak() 
    read() 
}

以上代码就实现了一个接口,有两个方法,其含义其实同Java中的接口类似

2.3 错误处理

在 Go 语言中,错误被视为一种常见的情况,而不是异常。函数通常返回一个错误值,如果存在错误,该值将非 nil

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    return a / b, nil
}

Go 语言的基础语法和常用特性小编就介绍到这里。希望这篇文章可以对大家在 Go 语言的入门上有所帮助,同时也希望大家能够更好的学习和掌握 Go 语言