Skip to main content

技巧

  1. 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"))
}
  1. 优雅的ERROR处理:

优点, 不需要定义ERR变量来返回错误

如果只返回ERR, 那么可以使用如下方式

func Sing(c *gin.Context){
var body struct {...}

if c.Bind(&body) != nil {
...
}
  1. 拼接字符

原本:

c.Header("Authorization", "Bearer " + tokenString)

优雅方式:

c.Header("Authorization", fmt.Sprintf("Bearer %v", tokenString))