获得徽章 0
day10 整理一下什么是RESTful吧
RESTful其实只是一种前后端数据交互时的编程风格
不过因为规定了统一的资源接口和API使得更容易程序员阅读
比如使用GET请求获取数据,使用DEL请求删除数据,使用POST请求发送数据,使用PUT请求更改数据
评论
day9 数据库与存储系统
在学校上学期刚好学过数据库,听着比之前其他的课好接受多了
评论
day8 今天学了RPC框架,感觉比之前的几期课程要简单一点
评论
day7 MVC框架中业务流转逻辑
1. 前端通过ajax向指定接口发送请求
2. 后端定义相关路由接收请求,交由对应的controller处理
3. controller调用service层执行相关业务逻辑,service层定义相关业务接口
4. 在service层下的serviceImpl层中实现service的接口
5. serviceImpl会调用dao层的接口实现与数据库的交互,最终完成业务
展开
评论
day6 dsn
dsn是描述连数据源的一个字符串
在go语言中通常用于连接数据库
其书写格式为<driver>://<username>:<password>@<host>:<port>/<database>
<driver> 表示数据库驱动名,例如 mysql、postgres 等
<username> 和 <password> 表示连接数据库的用户名和密码
<host> 和 <port> 表示数据库所在的主机名和端口号
<database> 表示要连接的数据库名称
在其后面还可以跟上各种参数的设置,如字符集,解析时间类型的parseTime等
例如连接一个mysql数据库下的mydatabase数据库的字符串如下
mysql://user:password@localhost:3306/mydatabase?charset=utf8mb4&parseTime=True
展开
评论
day5 HTTP框架修炼之道
今天学了整体的HTTP设计思路,协议内容,API设计,中间件设计,路由设计等
虽然以前也做过一些个web,但是都没有系统的学过这些东西,多少还是有些吃力
明天继续!
评论
day4 高质量编程
1. 什么是高质量:编写的代码能够达到正确可靠、简洁明晰的目标即可称之为高质量代码
- 边界条件考虑完备
- 异常情况处理,保证稳定性
- 易读易维护
2. 编程原则
- 简单性:以简单清晰的逻辑编写代码
- 可读性:编写可维护代码的第一步是确保代码可读
- 生产力:团队整体工作效率非常重要
编码规范:如何编写高质量代码

1. 代码格式:推荐使用`gofmt`自动格式化代码,现在的常见IDE都支持配置
2. 注释:好的代码有很多注释,坏的代码需要很多注释,注释应该提供代码未表达出的上下文信息
- 注释应该解释代码作用
- 注释应该解释代码如何做的
- 注释应该解释代码实现的原因
- 注释应该解释代码什么情况会出错
3. 命名规范
1. 变量命名
- 简洁胜于冗长
- 缩略词全大写,但当其位于变量开头且不需要导出时用全小写
- 变量距离其被使用的地方越远,则需要携带越多的上下文信息
2. 函数命名
- 函数名不携带包名上下文信息,因为其总是成对出现的
- 函数名应该尽量简短
3. 包命名
- 只有小写字母组成
- 简短并包含一定上下文信息
- 不要与标准库同名
4. 控制流程
- 避免嵌套,保持正常流程清晰
- 保持正常代码路径为最小缩进:优先处理错误情况/特殊情况,尽早返回或继续循环来减少嵌套
5. 错误和异常处理
- 简单错误:优先使用error.New来创建匿名变量来直接表示简单错误,如有格式化需求,使用fmt.error
- 错误的wrap和unwrap实际上是提供了一个error嵌套另一个error的能力,从而生成一个error的跟踪链
- 错误判定:判定一个错误是否为特定错误,使用errors.Is在错误链上获取特定种类的错误,使用errors.As
- panic较为严重,不建议在业务代码中使用panic,程序启动阶段发生不可逆转的错误时,可以在init或main种使用panic
- recover只能在被defer的函数中使用,嵌套无法生效且只在当前goroutine生效
展开
评论
Day3 go函数式编程
本来是Java转过来的,go的语法刚上手感觉好别扭,最难受的一点就是go的函数式编程。
举个简单的例子
var hello = func(name string) string {
return "hello " + name
}
hello("tim") // "hello tim"
其实其本质就是将函数定义为一个变量(这时候不得不感叹万能的var),随后可以直接通过变量名调用该函数
展开
评论
day2 不会只有我觉得这个字节内部课讲得好快吧[流泪]
课程内容只有一个多小时,我硬是边看边跟着写边搜,看了三个多小时[流泪]
评论
Day1 go环境配的可太怪了

Vscode配置Go环境
1. 上官网下载安装包, 安装到指定文件夹,这里我安装到了F:/golang下
2. 修改环境变量:
GOPATH:F:/golang/bin
GOROOT:F:/golang
3. 打开Vscode 下载go插件
4. 按下ctrl+shift+P,搜索go:install/Update Tools
5. 安装全部所需工具(此步需要翻墙)
6. 新建一个project文件夹(全部的项目文件夹)
7. 文件夹下新建一个test包(测试项目包)
8. test下新建hello.go文件
9. hello.go文件代码如下
package main

import "fmt"

func main() {
fmt.Printf("hello, world!")
}

10. 按下F5调试,配置调试文件launch.json如下
{
"version": "0.2.0",
"configurations": [
{
"name": "LaunchGo",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {
"GOPATH": "F:/golang/bin",
"GOROOT": "F:/golang"
},
"args": [],
}
]
}

11. 对应GOPATH和GOROOT修改为第2步的内容
12. 重新按下F5即可进行调试运行
展开
评论
个人成就
文章被点赞 1
文章被阅读 260
掘力值 21
收藏集
0
关注标签
0
加入于