这是JWT天生token部分

// 可选参数type Options struct {SecretKey string}// 产生token的函数func (j jwtSecret) GenerateToken(args map[string]interface{}, options ...Options) (string, error) {if !utils.IsEmpty(options) {j.secretKey = []byte(options[0].SecretKey)}nowTime := time.Now()// 过期韶光expireTime := nowTime.Add(60 time.Hour).Unix()claims := Claims{args,jwt.StandardClaims{Audience: "job",ExpiresAt: expireTime,Id: uuid.New().String(),IssuedAt: nowTime.Unix(),Issuer: "gin-job",NotBefore: nowTime.Unix(),Subject: "token",},}tokenClaims := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)token, err := tokenClaims.SignedString(j.secretKey)return token, err}

这里是调用函数部分,没有传第二参数

php函数可选参数在golang函数中应用可选参数应用JWT的例子讲授 Vue.js

args := map[string]interface{}{"id": "1","name": "user",}token, _ := engine.NewJWT().GenerateToken(args)fmt.Println("天生的token:", token)

这里是调用函数部分,传了第二参数

options := engine.Options{SecretKey: "SecretKey123",}args := map[string]interface{}{"id": "1","name": "user",}token, _ := engine.NewJWT().GenerateToken(args, options)fmt.Println("天生的token:", token)

以上是调用JWT部分,详细理解可以在GitHub里查找"dgrijalva/jwt-go"文档。