我正在尝试解密包含结构变量的字符串。我希望我的字符串中的变量在解密后被正确的值替换。
我的结果是我得到了带有变量的字符串,而不是被它们的值替换。
怎么办呢?
这是我的代码。
type (
Test struct {
Login string `form:"login"`
Email string `form:"email"`
Age string `form:"age"`
})
在我的函数内部
tst:= Test{}
textToEncrypt :=
"login:tst.Login;email:tst.Email;timestampunix:1563804616"
textEncrypted := service.EncryptText(textToEncrypt, keysToEncrypt)
他加密后,我有一个加密字符串,直到这里没问题。
当我调用我的解密函数时,他像上面一样返回字符串,但我想要字符串中变量的值,变量结构的值?
有可能?
如前所述,标准库中没有任何函数可以解析您的格式。您似乎使用分号和冒号作为此格式的分隔符。考虑到这一点,我们可以创建自定义代码来解析它。
splitString = strings.Split(str, ";")
example.Login = GetLastIndex(splitString[0])
example.Email = GetLastIndex(splitString[1])
example.Age = GetLastIndex(splitString[2])
func GetLastIndex(str string) string {
return str[strings.LastIndex(str, ":")+1:]
}
游乐场示例:https://play.golang.org/p/UTrazkQ5EI-