gtoken
gtoken copied to clipboard
关于源码的一点疑问
func (m *GfToken) Logout(r *ghttp.Request) {
if !m.LogoutBeforeFunc(r) {
return
}
// 获取请求token
respData := m.getRequestToken(r)
if respData.Success() {
// 删除token
m.RemoveToken(r.Context(), respData.DataString())
}
m.LogoutAfterFunc(r, respData)
}
在源码中,登出是要调用LogoutBeforeFunc和LogoutAfterFunc两个方法的,而我在运用的时候是没有配置这两个方法的,这两个方法打印出来的值为nil,神奇的是这两个函数没有实现,程序却能正常运行,没有panic? 是否golang在函数为nil的时候会自动跳过不执行?
https://github.com/goflyfox/gtoken/blob/master/gtoken/gtoken.go#L423 https://github.com/goflyfox/gtoken/blob/master/gtoken/gtoken.go#L429