入门与安装
与java相同golang也是编译型语言,需要编译后才能形成二进制文件由计算机执行
第一行go代码
package main
import "fmt"
func main() {
fmt.Println("hellow world")
}
- 执行代码
- 使用go build编译go文件生成exe文件
- 使用go run直接执行go文件
go的执行流程
两种方式的主要区别:
- 编译的时候将程序运行需要的库文件都包含在可执行文件种,可执行文件会比go文件大很多
- 可执行文件不需要go环境就可运行
语法的注意事项
- 源文件以"go"为扩展名
- 程序执行入口是main函数
- 严格区分大小写
- 方法由一条系语句构成,不需要分号结尾
- 一行就一条语句多了会报错
- 定义的变量或者import的包没用到会报错
变量
变量的四种使用方式
var num int = 18
fmt.Println(num)
var num2 int
fmt.Println(num2)
var num3 = "jerry"
fmt.Println(num3)
sex := "男"
fmt.Println(sex)
一次性对多个变量进行赋值
var num4,num5,num6 = 1,2,3
fmt.Println(num4)
fmt.Println(num5)
fmt.Println(num6)
var num7,num8,num9 = 1,"ggb",3
num10,num11 := 1,2
fmt.Println(num7)
fmt.Println(num8)
fmt.Println(num9)
fmt.Println(num10)
fmt.Println(num11)
定义全局变量
package main
import "fmt"
var g3 = "zxc"
var ()
g1 = "123"
g2 = "55"
)
func main() {
// fmt.Println("hellow world")
var num int = 18
fmt.Println(num)
var num2 int
fmt.Println(num2)
var num3 = "jerry"
fmt.Println(num3)
sex := "男"
fmt.Println(sex)
var num4,num5,num6 = 1,2,3
fmt.Println(num4)
fmt.Println(num5)
fmt.Println(num6)
var num7,num8,num9 = 1,"ggb",3
num10,num11 := 1,2
fmt.Println(num7)
fmt.Println(num8)
fmt.Println(num9)
fmt.Println(num10)
fmt.Println(num11)
fmt.Println(g3)
// fmt.Println(g2)
}
数据类型
- 基本数据类型
- 数值型
- 数值类型(int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,byte)
- 浮点类型(float32,float64)
- 字符型(没有单独的字符类型使用byte来保存单个字符)
- 布尔型(boolen)
- 字符串(string)
- 数值型
- 派生数据类型/复杂数据类型
- 指针
- 数组
- 结构体
- 管道
- 函数
- 切片
- 接口
- map
指针
- &取内存地址
- *根据地址取值