Go 语言入门指南 | 青训营

82 阅读2分钟

前言

这是我参加青训营的第一篇笔记

Go语言的特点

简洁、快速、安全、并行,并且开源,自动垃圾回收

第一个go程序,输出hello,world

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

go程序以.go结尾,在命令行输入go run + 文件名 即可执行代码

Go语言结构

go语言的基础组成: 包声明 引入包 函数 变量 语句&表达式 注释 注意:go语言中'{'不能单独放在一行

Go语言语法

  • 初始化数组
    var arrayName [size]dataType
    var age [100]int
    还可以使用初始化列表来初始化数组的元素:
    var age = [5]int{1,2,3,4,5}
    还可以使用 := 简短声明语法来声明和初始化数组:
    numbers := [5]int{1,2,3,4,5}
  • 指针
    var a int= 1 //声明实际变量
    var ip * int //声明指针变量
    ip = &a //指针变量的储存地址
    在指针类型前面加上 * 号(前缀)来获取指针所指向的内容
  • 结构体
    结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称

import "fmt"

type user struct{
	name string
	password string
}

func main() {
	a := user{name : "wang", password : "1000"}
	b := user{"wang" , "1000"}
	c := user{name: "wang"}
	c.password = "1000"
	var d user
	d.name = "wang"
	d.password = "1000"

	

}
  • json 转为json: json.Marshal(结构体)
    Marshal生成的事buffer,需要手动 string(buffer) 转换成字符串
    带格式的json转换: json.MarshalIndent(结构体,一些格式参数)
    解析json: json.Unmarshal(缓冲,接收结构体的指针)
  • printf %v 基本的值输出
    %+v 遇到结构体时,包含键名输出
    %#v 遇到结构体时,包含包名、结构体类型名、键名输出
  • time Now
    Date
    Format
    t2.sub(t1)计算时间差值
    Unix
  • map Map 是一种无序的键值对的集合
    Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值

import "fmt"

func main() {
	m := make(map[string]int)
	m["one"] = 1
	m["twe"] = 2

	m2 := map[string]int{"one":1, "two":2}
	var m3 = map[string]int{"one":1, "two":2}
}

##结尾 这差不多就是我第一堂课学到的go语言基础知识,除了课堂之外,我还在菜鸟教程上学习了,菜鸟上的教程和解释更细一些,适合基础较差的同学前往查漏补缺,毕竟课堂上的时间有限,不可能在那么一两个小时里把这些知识讲的太清楚,所以除了课堂上的学习,我们还应该多多在线下自我学习。