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

91 阅读2分钟

对于初学者,本人并不建议直接来看文章学习,本文章仅仅是在青训营学习所写的,不是专业的go语言学习教程,若读者因对某些知识点不理解而感到困惑的话,请查找其他比较专业的文章进行阅读。

首先,让我们编写一个最简单的HelloWorld程序

package main
import "fmt"
func main(){
    fmt.Println("Hwllo,World!")
}
  1. 第1行是包的声明。本例中是main包,main包是每个项目的入口。
  2. 第3行,使用g键字import导入Go语言提供的标准包fmt。
  3. 第5行定义了一个函数,func是定义函数的关键字。
  4. 第6行使用fmt的Println函数输出字符串Hello,World! 注意:Go语言每行代码行尾是不需要加分号; 的,编译器会把换行符解析成分号,不能把函数的左扩号单独成行。

变量、指针及赋值

变量和常量

  • 变量声明使用var关键字
  • 常量声明使用const关键字
  • 变量的定义形式: var name 【类型】 = 【表达式】

注意:使用过程中,"类型"和"表达式"可以省略一个,但不能同时省略。Go语言能进行自动推导,根据类型推默认表达式,也能根据表达式推出类型。

默认数据类型

  • 数字类型默认为0
  • 布尔类型默认为false
  • 字符串类型默认为""
  • 接口、slice、指针、map、通道、函数等类型默认值为nil

变量定义示例

// 省略类型
var m = 2

// 省略表达式
var n int

// 多个变量一起声明
var a, b, c int

// 多个变量一同通过表达式声明
var i, j, k = 1, "hello", true

常量定义示例

  • 常量的值是在程序编译的时候确定的,之后不可改变。
const LEN = 10

// 一次定义多个常量
const (
	SYS = "Windows"
	Type = "string"
)

字符串

  • Go语言字符串按字节存储,不同字符占用不同数目的字节。
  • 字符串的字符按unicode编码存储,不同的字符按1~4个字节存储。其中,中文汉字占用3个字节,英文占用1个字节。
  • 字符串索引访问是按字节访问的,而不是字符。

rune

  • unicode通常用4个字节来表示,对应Go语言的字符rune占4个字节
  • rune类型是一个衍生类型,在内存里面使用int32类型的4个字节存储

特点

  • 字符串是只读的,不支持按索引修改。
  • 字符串支持切片成子串