Go语言入门指南 | 青训营

57 阅读2分钟

我试着写一篇Go语言入门指南,重点介绍它的基础语法和常用特性:

Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。相比C/C++,它在语法上做了大量简化,编译速度更快,非常适合构建简单、可靠和高效的软件。

一、基础语法

  1. 包声明

每个Go源码文件都以包声明开头,用于指定当前文件属于哪个包。包可以看作是多个源码的集合。 在Go语言中,每个源码文件都以包声明开头,用于指定当前文件属于哪个包。其中main表示一个特殊的包,包含可执行入口函数main()。非main包中的代码需要通过包导入才能使用。同一个目录内的所有Go文件必须属于同一个包。

常见的包声明有:

  • package main:可执行程序包
  • package foo:普通的库包
  • package foo_test:测试包

包声明必须在源文件中非注释的第一行,用于告知Go编译器该文件属于哪个包,这对于编译和导入包都非常关键。 包可以看作是多个源码的集合,用于将相关的代码组织在一起。

go

Copy code

package main
  1. 导入包

使用import关键字可以导入其他包。

go

Copy code

import "fmt"
  1. 函数

定义一个函数的基本格式如下:

go

Copy code

func functionName() {
 // 函数体
}
  1. 变量

变量需要声明后才能使用,声明方式为 var 变量名 类型,例如:

go

Copy code

var name string

Go语言推荐使用驼峰命名风格。

二、常用特性

  1. 错误处理

Go语言把错误当作值来处理,函数的最后一个返回值通常用来返回错误。

go

Copy code

file, err := os.Open("filename.ext")
if err != nil {
    //发生错误时的处理
}
  1. 并发

Go语言内置对并发的支持,使用go关键字可以很方便的实现goroutine。

go

Copy code

go func() {
    //并发执行的函数体
}()
  1. 数组与切片

数组的声明方式为 [n]T,切片(动态数组)的声明方式为 []T。

go

Copy code

var arr [10]int 
var slice []int

总体来说,Go语言具有语法简洁、并发高效等特点,非常适合编写维护性强、性能好的后端服务等软件,是一门值得学习的语言。