本次作业为三人协作开发,共有三个开发分支和一个master主分支。这是GitHub上的项目地址
第一部分:Git 的使用经验
1.使用git连接远程仓库
git init
git remote rm origin
git remote add origin https://github.com/huntingwolf320/Agenda-Go.git
2.使用git提交
git add xxx
git commit -m "xxxx"
git push -u origin <branch>
3.使用git修改文件名和文件夹名
git mv -f <old file> <new file>
4.使用git更新本地仓库
git branch --set-upstream-to=origin/<branch> // 关联本地仓库和远程分支(可选)
git pull
5.使用git查看当前所属分支
git branch
6.使用git切换到对应分支
git checkout <branch>
7.使用git删除文件
git rm <file>
8.使用git保存本地工作区改动以便更新
git stash // 保存本地工作区状态
git pull // 从远程仓库拉取代码更新本地仓库
git stash pop // 恢复本地工作区状态
第二部分:Go语言中log包的使用
Go语言的log模块主要提供了3类接口。分别是 Print 、Panic 、Fatal ,对每一类接口其提供了3种调用方式。下面是对每种接口的介绍。
1.Print类接口:输出日志文本,程序继续执行
(1) log.Print():在终端输出提示信息(没有换行符,需要手动添加)
(2) log.Println():在终端输出提示信息(默认包含换行符,不需要手动添加)
(3) log.Printf():在终端输出自定义格式的提示信息
2.Panic类接口:输出日志文本,然后调用Panic函数
(1) log.Panic():在终端输出提示信息(没有换行符,需要手动添加)
(2) log.Panicln():在终端输出提示信息(默认包含换行符,不需要手动添加)
(3) log.Panicf():在终端输出自定义格式的提示信息
3.Fatal类接口:输出日志文本,然后调用系统的 os.exit(1) 接口,退出程序并返回状态1
(1) log.Fatal():在终端输出提示信息(没有换行符,需要手动添加)
(2) log.Fatalln():在终端输出提示信息(默认包含换行符,不需要手动添加)
(3) log.Fatalf():在终端输出自定义格式的提示信息
另外,log包还支持创建日志类(Logger类型), log.Logger提供了一个New方法用来创建对象
func New(out io.Writer, prefix string, flag int) *Logger
该函数一共有三个参数:
(1)输出位置out,是一个io.Writer对象,该对象可以是一个文件也可以是实现了该接口的对象。通常我们可以用这个来指定日志输出到哪个文件。
(2)prefix 我们在前面已经看到,就是在日志内容前面的东西。我们可以将其置为 “[Info]” 、 "[Warning]"等来帮助区分日志级别。
(3) flags 是一个选项,显示日志开头的东西,可选的值有:
Ldate = 1 << iota // 形如 2009/01/23 的日期
Ltime // 形如 01:23:23 的时间
Lmicroseconds // 形如 01:23:23.123123 的时间
Llongfile // 全路径文件名和行号: /a/b/c/d.go:23
Lshortfile // 文件名和行号: d.go:23
LstdFlags = Ldate | Ltime // 日期和时间