前言
这是我参加青训营的第一篇笔记
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语言基础知识,除了课堂之外,我还在菜鸟教程上学习了,菜鸟上的教程和解释更细一些,适合基础较差的同学前往查漏补缺,毕竟课堂上的时间有限,不可能在那么一两个小时里把这些知识讲的太清楚,所以除了课堂上的学习,我们还应该多多在线下自我学习。