Go中是否存在与此JS表达式等效的表达式
Is there an equivalent of this JS expression in Go?
假设我们有两个字符串,str1和str2。我想要一个新的变量str3等于str1,或者如果str1为空,则等于str2。
在JS中,我会写:
var str3 = str1 || str2
在围棋中,我必须这样做:
str3 := str1
if str1 == "" {
str3 = str2
}
这有点过于冗长了。是否有与JS中的表达式等效的表达式?
是否有与JS中的表达式等效的表达式?
不,但如果你发现自己经常这样做,你可以写一个函数来完成你想要完成的任务:
func strs(s ...string) string {
if len(s) == 0 {
return ""
}
for _, str := range s[:len(s)-1] {
if str != "" {
return str
}
}
return s[len(s)-1]
}
用法:
str3 := strs(str1, str2)
https://play.golang.org/p/Gl_06XDjW4
Go中没有等效的操作。您必须使用if(或开关,但这更为冗长)来完成此操作。我会这样写:
var str3 string
if str1 != "" {
str3 = str1
} else {
str3 = str2
}
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 用于验证JS中逻辑运算符表达式的正则表达式
- 更改标记.js图像/链接表达式
- 简单的Angular JS表达式
- Reactjs错误:babel runtime.js:32 Uncaught TypeError:超级表达式必须为nul
- JS正则表达式跳过每隔一个匹配
- 用正则表达式在js中进行函数修剪
- JS 正则表达式以匹配 HTML 标记中不是 的字符串
- 在 JS 中组合两个正则表达式
- 如何防止 JS 缩小删除命名函数表达式的名称
- 节点.js和表达式:如何在异步操作后返回响应
- 使用 JS 正则表达式添加到字符串(作为数字)
- 节点中带有空格的 XPath 表达式表示挑衅.js
- 角度 js 中的正则表达式
- 正则表达式用于删除 js 中的 css 规则
- Js提示:“;期望一个赋值或函数调用,而看到一个表达式“;,Switch语句
- 正则表达式在浏览器上有效,但在Node.js中无效
- 如何在 KNOCKOUT 中写这个表达式.js
- 奇数(IMHO)在正则表达式(JS)中添加2个空格逗号和一个数字之间
- 使用正则表达式JS / JQuery将字符串转换为对象