技巧
- init函数
在初始化时先执行的函数, 在执行主main函数, 在数据库初始化连接时非常有用
例:
package database
import (
"context"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
var (
Client *mongo.Client
StartError error
)
func init() {
Client, StartError = mongo.Connect(context.TODO(), options.Client().ApplyURI("mongodb://root:[email protected]:27017"))
}
- 优雅的ERROR处理:
优点, 不需要定义ERR变量来返回错误
如果只返回ERR, 那么可以使用如下方式
func Sing(c *gin.Context){
var body struct {...}
if c.Bind(&body) != nil {
...
}
- 拼接字符
原本:
c.Header("Authorization", "Bearer " + tokenString)
优雅方式:
c.Header("Authorization", fmt.Sprintf("Bearer %v", tokenString))