大多数清理功能,特别是那些与IO操作相关的功能,返回一个error,通常我们更喜欢defer执行它们,以防我们在完成获取的资源时忘记调用它们.例如,在代码中的某些时候我们可能会写这样的东西:
var r *SomeResource
var err error
if r, err = Open(/* parameters */); err != nil {
return nil, err
}
defer r.Close() // This might return an error
Run Code Online (Sandbox Code Playgroud)
似乎如果Close函数返回错误,它将被忽略.我们如何轻柔地处理error从这样的功能返回?
下面的代码行在一个for循环中,其中j增加ansString了一个ASCII字符串,如000\Qg$M!*P000\gQYA+ h000\M|$skd 000\Qo}plsd000\.
ansString[j] = ((char)(paramString[j] >> j % 8 ^ paramString[j]));
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何让XOR和所有其他操作员反向找到paramString.感谢任何帮助.