用Go编写一个Web服务器的方法有三种
首先
我将总结一下在使用Golang创建API服务器时所调查的事项。
Golang的基础
关于指针
指针不传递变量的值,而是传递变量存储的地址。
在需要修改参数或接收器的函数内部,或者处理大型结构体或数组时,可以使用指针。
&被用于从变量中提取其指针。
*用于提取指针所指向的变量的实体。
*用于声明指针类型时使用。
初始化变量的值
在Golang中,对于没有明确初始值的变量,会分配零值。
https://go.dev/tour/basics/12
https://qiita.com/tenntenn/items/c55095585af64ca28ab5
https://go.dev/tour/basics/12:这个链接指向了一个关于Go语言基础的教程页面。
https://qiita.com/tenntenn/items/c55095585af64ca28ab5:这个链接指向了一个关于Go语言的文章。
嵌入 委托
在GO语言中无法使用继承。
「nil」是什么意思?
在Go中,nil表示指针、接口、映射、切片、通道和函数类型的零值。nil不表示某种”未定义”的状态,它本身就是一个值。只有当Go对象的值为nil时,它才表示nil。
在Golang中,nil代表什么含义?
fmt.Println()和log.Println()的区别是什么?
log中的消息中包含有执行时间的记录,因此可以保留更详细的日志。
关于方法的接收器类型(值形式还是指针形式)
方法是指具有接收器的函数。
而接收器是在方法的定义中,在方法名之前作为参数定义的。
指针接收器似乎更具通用性。
如果要更改接收器本身,则选择指针接收器。
在Go中处理JSON结构体的方法
Gin是什么
Gin 是一个 Golang 的框架。
获取URL参数的方法,获取请求体的方法
用Golang编写的MVC模型应用程序
参考了一篇在创建MVC模型的API时的文章。
使用GoAPI实现DTO
DTO是将领域层与基础设施层(数据库)分离时使用的技术。例如,假设定义了以下模型。使用DTO时,即使在数据库中以status = “0”或”1″进行管理,领域层也可以将其转换为Status = “active”或”inactive”等进行处理。
Golang的错误处理
将错误委托给上游处理并将其输出到日志中,这是主要的操作。
回答一个包含错误的简单回复的方式
使用gollira进行路由控制
gollira是一个用于路由的库。
实现中间件的路由方式
使用gorm库进行数据库操作。
gorm 是 golang 的 ORM 映射器。
一篇将公式参考资料总结得简明易懂的文章。
公式 -> Formula / 方程式
使用gorm进行与数据库的连接的方式。
交易
关于分页处理的SQL,涉及到limit和offset。
Go语言和其他