go语言学习

83 阅读2分钟

入门与安装

与java相同golang也是编译型语言,需要编译后才能形成二进制文件由计算机执行

第一行go代码

package main
import "fmt"
func main() {
	fmt.Println("hellow world")
}
  • 执行代码
  1. 使用go build编译go文件生成exe文件
  2. 使用go run直接执行go文件

go的执行流程

image.png 两种方式的主要区别:

  1. 编译的时候将程序运行需要的库文件都包含在可执行文件种,可执行文件会比go文件大很多
  2. 可执行文件不需要go环境就可运行

语法的注意事项

  1. 源文件以"go"为扩展名
  2. 程序执行入口是main函数
  3. 严格区分大小写
  4. 方法由一条系语句构成,不需要分号结尾
  5. 一行就一条语句多了会报错
  6. 定义的变量或者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

指针

  1. &取内存地址
  2. *根据地址取值