正式开始学习Go语言前,先在vscode中下载了go插件,进行好了准备工作
一、首先来看到第一段代码,Hello World
package main
import "fmt"
func main(){
fmt.Println("Hello World!")
}
package main表示该文件属于main包
而接下来,就是导入一系列import的包
在这段代码中,导入的是"fmt",因为在我们的程序语句中用到了其中的Println进行 输出。
而就在输出这段语句时,我犯了一个错误,我将func main()后紧跟的{放在了下一行
即:
package main
import "fmt"
func main()
{
fmt.Println("Hello World!")
}
因此,程序出现了报错。之所以会出现报错,是因为Go语言希望程序尽量保持一致,具有美观性,所以,这也是很多一开始学c语言的初学者容易犯的错误。因此,在之后我也要多注意不同语言之间的书写风格
二、变量与数据类型
(1)在Go语言中,声明变量的规则是:
var num int
Go语言中定义变量用到var关键字,其次是变量名,和变量类型。
1.同时,变量和c语言一样,可以在一行中声明赋值
var num int = 18
2.在没有赋值时,int类型的默认值为0,不同类型的变量默认值可能会有差异
var num int
此时num的值默认为0
3.在没有写明变量类型时,Go语言会进行自动类型推断
var num =3
此时默认num为int 类型
4.省略var时,我们要将赋值写为:=
num:=3
此时也默认num为int类型
5.Go语言支持一次性声明多个变量
var num1,num2,num3 int
var n1,n2,n3=1,"Tom",6.6
n4,r,n5:=6.3,6.9,"Jim"
6.定义在函数外的变量是全局变量,定义在函数内的是局部变量
7.基本数据类型有:数值型 字符型 布尔型 字符串
8.复杂数据类型有:指针 数组 结构体 管道 函数 切片 接口 map
(2)整数类型
有符号整数类型:int8 1字节 int16 2字节 int32 4字节 int64 8字节
无符号整数类型:uint8 1字节 uint16 2字节 uint32 4字节 uint 8字节
其他整数类型:
int unit rune byte
在保证程序正确运行情况下,尽量使用占用空间小的变量
(3)浮点类型
float32 4字节 float64 8字节
(4)字符类型
Go语言中没有专门存放字节的字符类型,一般用byte
字母 数字 标点底层按照ASCLL码值存储,汉字字符对应Unicode码值
Golang的字符对应的使用的是UTF-8编码
(5)布尔类型
占1个字节 true或者false
(6)字符串类型
var s1 string 定义字符串
字符串是不可变的,字符串一旦定义好,其中的字符的值不能改变
基本数据类型的默认值:
整数类型:0 浮点类型:0 布尔类型:false 字符串类型:""