草庐IT

go - 带逗号 vs or 的 bool 开关

coder 2023-06-30 原文

<分区>

我知道在 Go 中,您可以像这样使用 case 语句来切换条件:

func ctypeAlpha(b byte) bool {
    return (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z')
}

switch {
case ctypeAlpha(mysql[i]):
    ...
case mysql[i] == '"' || mysql[i] == '\'' || mysql[i] == '`':
    ...

但是在了解 case 隐式中断以及让多个匹配项执行相同代码时,您可以像这样使用逗号

switch {
case ctypeAlpha(mysql[i]):
    ...
case mysql[i] == '"', mysql[i] == '\'', mysql[i] == '`':
    ... 

抛开个人观点,性能上更倾向于哪个?

有关go - 带逗号 vs or 的 bool 开关的更多相关文章

  1. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  2. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  3. Ruby 正则表达式匹配逗号,但忽略括号中的逗号 - 2

    我正在尝试通过正则表达式拆分参数列表。这是一个带有我的参数列表的字符串:"a=b,c=3,d=[1,3,5,7],e,f=g"我想要的是:["a=b","c=3","d=[1,3,5,7]","e","f=g"]我试过先行,但Ruby不允许使用动态范围后行,所以这行不通:/(?如何让正则表达式忽略方括号中的所有内容? 最佳答案 也许这样的东西对你有用:str.scan(/(?:\[.*?\]|[^,])+/)编辑再三考虑。简单的非贪婪匹配器在某些嵌套括号的情况下会失败。 关于Ruby正则

  4. ruby-on-rails - 在 fastercsv 中转义逗号值 - 2

    我正在研究csv生成。我正在分隔由逗号(,)分隔的值。如果字段中的值包含逗号,则不应在excel中分隔该字段。所以我想在那里放一个转义字符。我正在使用FasterCsv。那么我如何放置转义字符。fastercsv的转义字符是什么? 最佳答案 只需引用每个字段(默认为双引号),其中的逗号将被忽略:CSV.generate(:col_sep=>',',:quote_char=>'"')do|row|row"\"Quid,quid\",latinumdictum\n\"sit,altum\",viditur.\n"

  5. ruby - Ruby 中的 bool 方法? - 2

    为了问这样的问题:MyClass::create().empty?如何在MyClass中设置empty?Empty(true/false)取决于类变量@arr是否为空。 最佳答案 问号实际上是方法名称的一部分,因此您可以这样做:classMyClassdefempty?@arr.empty?#Implicitlyreturned.endend 关于ruby-Ruby中的bool方法?,我们在StackOverflow上找到一个类似的问题: https://st

  6. ruby - gsub 删除第一个逗号前的所有内容 - 2

    我有这个字符串:auteur="comtedeFlandreetHainaut,Baudouin,Jacques,Thierry"我想删除第一个逗号之前的所有内容,即在这种情况下保留“Baudouin,Jacques,Thierry”试过这个:nom=auteur.gsub(/.*,/,'')但这会删除最后一个逗号之前的每个逗号,只保留“Thierry”。 最佳答案 auteur.partition(",").last#=>"Baudouin,Jacques,Thierry" 关于rub

  7. ruby-on-rails - Textmate 'Go to symbol' 相当于 Vim - 2

    在Railcasts上,我注意到一个非常有趣的功能“转到符号”窗口。它像Command-T一样工作,但显示当前文件中可用的类和方法。如何在vim中获取它? 最佳答案 尝试:helptags有各种程序和脚本可以生成标记文件。此外,标记文件格式非常简单,因此很容易将sed(1)或类似的脚本组合在一起,无论您使用何种语言,它们都可以生成标记文件。轻松获取标记文件(除了下载生成器之外)的关键在于格式化样式而不是实际解析语法。 关于ruby-on-rails-Textmate'Gotosymbol

  8. ruby - 数组用逗号连接,仅当元素不为 nil 时 - 2

    是否有一种简单明了的方法来实现array.join(","),其中逗号仅包含在存在的元素之间?也就是说,如果数组中不存在某些元素,我不会得到孤儿逗号吗? 最佳答案 例子:["",nil,"测试词",5,7,nil,"",nil,"",7,6,""]=>"测试词,5,7,7,6"编辑:请注意,此处的第一种方法需要RubyonRails。将第二种方法用于仅限Ruby的解决方案您可以尝试删除nil和空字符串""然后用逗号连接(它删除所有nil值compact,然后它在""上执行split以创建一个二维数组,其中任何""元素在第一个数组只是

  9. ruby - ruby 命令行开关 -rubygems & -r 不兼容吗? - 2

    我最近将一个ruby​​库转换为一个gem,这似乎破坏了命令行的可用性作为图书馆工作得很好$ruby-rfoobar-e'pFooBar.question'#=>"answer"作为一个gem,irb知道如何从命令行开关中请求一个gem$irb-rubygems-rfoobarirb(main):001:0>FooBar.question#=>"answer"但对于ruby​​本身来说同样失败了:$ruby-rubygems-rfoobar-e'pFooBar.question'ruby:nosuchfiletoload--foobar(LoadError)我现在必须这样做吗,这看起来

  10. ruby - 用逗号将字符串分割成数组,除非逗号在引号内 - 2

    给定一个Ruby数组字符串,其中一些项目在引号中包含逗号:my_string.inspect#=>"\"hey,you\",21"我怎样才能得到一个数组:["hey,you","21"] 最佳答案 Ruby标准CSV库的.parse_csv就是这样做的。require'csv'"\"hey,you\",21".parse_csv#=>["hey,you","21"] 关于ruby-用逗号将字符串分割成数组,除非逗号在引号内,我们在StackOverflow上找到一个类似的问题:

随机推荐