在包中golang.org/x/sys/windows/svc有一个包含此代码的示例:
const cmdsAccepted = svc.AcceptStop | svc.AcceptShutdown | svc.AcceptPauseAndContinue
Run Code Online (Sandbox Code Playgroud)
管道|特征是什么意思?
假设我有一个这样的数组:
var a = [94, "Neptunium", 2, "Helium", null, "Hypotheticalium", 64, "Promethium"];
Run Code Online (Sandbox Code Playgroud)
偶数数组索引与以下奇数索引相关联.换句话说,94去与"Neputunium"和2"氦"等我去如何排序基于偶数索引的数组,但请注意以下奇数索引值之后呢?所以我最终得到一个像这样的数组:
a = [null, "Hypotheticalium", 2, "Helium", 64, "Promethium", 94, "Neptunium"];
Run Code Online (Sandbox Code Playgroud)
注意:是的,我知道,知道,使用对象或ES6地图(或者甚至,在这种情况下,稀疏阵列的数字作为指标,如果空留出来)会更合适,但我只是探索这个来试验语言.谢谢你的帮助.
如果我想在ES6/ES2015 javascript中打印一个unicode中文字符,我可以这样做:
console.log(`\u{4eb0}`);
Run Code Online (Sandbox Code Playgroud)
同样,如果我想将变量插入到模板字符串文字中,我可以这样做:
let x = "48b0";
console.log(`The character code is ${ x.toUpperCase() }.`);
Run Code Online (Sandbox Code Playgroud)
但是,似乎我无法将两者结合起来打印一个列表,例如,40个连续的unicode中文字符.这不起作用:
for (let i = 0, firstCharCode = parseInt("4eb0", 16); i < 40; ++i) {
let hexCharCode = (firstCharCode + i).toString(16);
console.log(`\u{${ hexCharCode }}`); // generates SyntaxError
}
Run Code Online (Sandbox Code Playgroud)
所以我问是否有可能.
javascript unicode unicode-escapes ecmascript-6 template-literals
我习惯于在 javascript 中编程,我可以执行以下操作将参数传递给立即调用的函数表达式:
(function(twoSeconds) {
// do something with "twoSeconds" here
})(2 * 1000);
Run Code Online (Sandbox Code Playgroud)
所以我希望能够在 Go 中做类似的事情,如下所示。但是,它似乎不起作用。
func (twoSeconds) {
// build error: "twoSeconds" undefined
}(time.Second * 2)
Run Code Online (Sandbox Code Playgroud)
所以我必须这样做:
func () {
twoSeconds := time.Second * 2
}()
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是如何将参数传递给 Go IIFE?如果不可能,为什么不呢?