对于初学者,本人并不建议直接来看文章学习,本文章仅仅是在青训营学习所写的,不是专业的go语言学习教程,若读者因对某些知识点不理解而感到困惑的话,请查找其他比较专业的文章进行阅读。
首先,让我们编写一个最简单的HelloWorld程序
package main
import "fmt"
func main(){
fmt.Println("Hwllo,World!")
}
- 第1行是包的声明。本例中是main包,main包是每个项目的入口。
- 第3行,使用g键字import导入Go语言提供的标准包fmt。
- 第5行定义了一个函数,func是定义函数的关键字。
- 第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个字节存储
特点
- 字符串是只读的,不支持按索引修改。
- 字符串支持切片成子串