范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Golang字符串比较

  Golang 字符串比较
  字符串比较, 可以直接使用  ==  进行比较, 也可用用 strings.Compare  比较
  go 中字符串比较有三种方式: ==  比较strings.Compare  比较strings.EquslFold  比较 #### 代码示例 ```go fmt.Println("go"=="go") fmt.Println("GO"=="go")  fmt.Println(strings.Compare("GO","go")) fmt.Println(strings.Compare("go","go"))  fmt.Println(strings.EqualFold("GO","go"))
  上述代码执行结果如下: true false -1 0 true Compare 和 EqualFold 区别EqualFold  是比较UTF-8编码在小写的条件下是否相等,不区分大小写// EqualFold reports whether s and t, interpreted as UTF-8 strings, // are equal under Unicode case-folding. func EqualFold(s, t string) bool 要注意的是  Compare  函数是区分大小写的, ==  速度执行更快
  / Compare is included only for symmetry with package bytes. // It is usually clearer and always faster to use the built-in // string comparison operators ==, <, >, and so on. func Compare(a, b string) int 忽略大小写比较
  有时候要忽略大小写比较, 可以使用 strings.EqualFold  字符串比较是否相等源码实现// EqualFold reports whether s and t, interpreted as UTF-8 strings, // are equal under Unicode case-folding, which is a more general // form of case-insensitivity. func EqualFold(s, t string) bool {     for s != "" && t != "" {         // Extract first rune from each string.         var sr, tr rune         if s[0] < utf8.RuneSelf {             sr, s = rune(s[0]), s[1:]         } else {             r, size := utf8.DecodeRuneInString(s)             sr, s = r, s[size:]         }         if t[0] < utf8.RuneSelf {             tr, t = rune(t[0]), t[1:]         } else {             r, size := utf8.DecodeRuneInString(t)             tr, t = r, t[size:]         }          // If they match, keep going; if not, return false.          // Easy case.         if tr == sr {             continue         }          // Make sr < tr to simplify what follows.         if tr < sr {             tr, sr = sr, tr         }         // Fast check for ASCII.         if tr < utf8.RuneSelf {             // ASCII only, sr/tr must be upper/lower case             if "A" <= sr && sr <= "Z" && tr == sr+"a"-"A" {                 continue             }             return false         }          // General case. SimpleFold(x) returns the next equivalent rune > x         // or wraps around to smaller values.         r := unicode.SimpleFold(sr)         for r != sr && r < tr {             r = unicode.SimpleFold(r)         }         if r == tr {             continue         }         return false     }      // One string is empty. Are both?     return s == t }
  通过源码可看到  if "A" <= sr && sr <= "Z" && tr == sr+"a"-"A"  可以看到不区分大小写的实现。
  看个完整测试代码: // Golang program to illustrate the // strings.EqualFold() Function package main  // importing fmt and strings import (  "fmt"  "strings" )  // calling main method func main() {  // case insensitive comparing and returns true.  fmt.Println(strings.EqualFold("Geeks", "Geeks"))   // case insensitive comparing and returns true.  fmt.Println(strings.EqualFold("computerscience", "computerscience")) }
  执行结构 true true 欢迎关注工作号:程序员财富自由之路
  参考资料https://www.geeksforgeeks.org/strings-equalfold-function-in-golang-with-examples/ https://cloud.tencent.com/developer/article/1651885

新兴技术落地,MicroLED直显技术引领新一代消费浪潮6月16日,利亚德推出MicroLED全系家用大电视,尺寸覆盖108英寸135英寸162英寸以及216英寸。纵观过去30年,LED显示行业发展路径可谓弹跳式飞跃,几乎每十年便迎来一vivoX60Pro正式发布,优点很醒目,缺点很突兀作为年前最后一款骁龙888旗舰,很多人都对X60Pro充满了期待,但发布会后简直成了大型声讨现场外观作为X60系列的超大杯,vivoX60Pro的外观和之前的X60Pro基本一致。LED显示行业精准抢占新风口提升发展质量效益纲要草案指出,着力提升发展质量效益,保持经济持续健康发展是十四五时期主要目标任务之一。发展是解决我国一切问题的基础和关键。必须坚持新发展理念,把新发展理念完整准确全LED显示产业主线聚焦扩张P0。9上量,P0。6突破2021年的任务就是P0。9上量,P0。6突破!国内某小间距LED显示屏大厂领导,这样论述2021年的发展规划。在行业人士看来,新一轮miniled技术成熟和应用的崛起不可避免。未商显大屏幕拼接市场发展趋势解读2020年,在政府刚性需求的驱动之下,大屏幕拼接市场在商显行业仍然表现出较好的成长潜力。根据奥维睿沃(AVCRevo)2020年中国大屏幕拼接市场研究报告显示2020年中国大陆大屏解开MicroLED神秘面纱什么是MicroLED?MicroLED是一种发光二极管(LED),尺寸通常小于100微米(m),常见尺寸小于50m,有些甚至仅有315m。就比例而言,microLED的尺寸约为传赛力斯华为智选SF5,为驾乘增添更多乐趣自从赛力斯华为智选SF5推出之后,新能源汽车市场就迎来了全新的面貌。它以不俗的实力迅速抓住人们的眼球。赛力斯华为智选SF5搭载赛力斯SEP200电机HUAWEIDriveONE三合千里玛预售开启多款爆品亮相蓉城智能时代,有咖有WEY。8月29日,第二十四届成都国际汽车展览会拉开帷幕。在这一中国西部地区最具规模和影响力的年度汽车盛典上,此前已积聚声量,成为新一代网红车型的魏牌玛奇朵终于揭开中签如中刀,日赚3亿的巨无霸中国移动上市,你敢申购吗10月29日证监会公告,中国移动将于11月4日首发上会。一石激起千层浪,立刻登上微博热搜,这意味着,如果中国移动上市顺利实施,三大运营商将齐聚A股市场。公开资料显示,中国移动本次拟库斯途途胜L混动联袂成都车展首发亮相,北京现代火力全开2021年8月29日,以潮动蓉城乐驾不凡为主题的第二十四届成都国际汽车展览会如约而至,北京现代携全明星阵容登陆4号馆02展位。其中,作为北京现代加速产品布局,践行HSMART战略的月销连续爆发式增长!比亚迪8月乘用车全系销售67630辆官方数据显示,比亚迪乘用车8月全系销售67630辆,同比增长90。5,环比增长18。7其中新能源乘用车销售60508辆,同比增长331。9。比亚迪的销量连续四个月大幅增长,不断刷新
强烈推荐一款Python可视化神器!强烈必备!PlotlyExpress入门之路PlotlyExpress是一个新的高级Python可视化库它是Plotly。py的高级封装,它为复杂的图表提供了一个简单的语法。受Seaborn收录上亿份简历的数据公司疑被查实地探访公司被封,空无一人近日,有网友爆料称,创新工场投资的简历大数据公司巧达科技(北京)有限公司(以下简称巧达科技)所有员工被警方带走,后来有员工陆续被放出来的。目前公司被查原因尚无法确定,疑似违规收集个女性手机第一品牌落幕曾一天卖出1000台,如今市场占有率不及1手机的群体不外乎男性和女性,华为小米等手机比较偏向于男性市场,其中男性用户超过65,而OPPOVIVO和魅族则比较偏向于女性,女性用户超过50,不过即使是华为还是小米,目前都已经开大佬的第一张名片,刘强东75分,马化腾200分都不够!随着经济生活的变好,大家的生活也越来越便利,大家对于身边资讯的获取方式也和以前有所区别。现在在网络上,大家随时随地可以获取最新最好玩的咨讯,那么现在在网上又有什么稀奇古怪的事情呢?刚刚,一场非典型苹果发布会,试图颠覆四大行业!苹果上周相当罕见地以一日一消息的方式,简简单单更新了旗下几个硬件产品线,全是为了让外界把今日春季发布会的重点放在服务上,但这种草草了事的做法也引起市场不小骚动,难道苹果开始重视服务又一个100亿英镑超级巨头被拿下,马云沸腾了整个欧洲!NO。1今晚,在地球的另一端,一家来自中国的企业成为了整个欧洲乃至全世界的焦点!刚刚,支付宝宣布正式牵手英国巴克莱银行!巴克莱银行旗下处理英国接近一半的信用卡和借记卡交易的分公司B科技感十足!三星全新带鱼屏显示器发售从早期的普屏,再到如今主流的宽屏显示器。为了追求更加舒适的观感,显示器随着技术水平不断变化着。现在更是出现了许多全区面的带鱼屏显示器,其中又以三星出品的带鱼屏受到更多用户的喜爱。近深圳最吸睛的荣威Ei6,车价16万,车牌却是九五之尊说到荣威,很多人都知道国内不少国产自主企业打造的车型颜值和配置都非常高,而荣威Ei6这款车就是其中一台,拥有非常大气的外观,而且还采用了插电式混合动力,摇号竞价都省去了,车牌还是新华为首款可穿戴智能眼镜发布IT之家3月26日消息除了全新的P30系列新机之外,华为今晚还发布了旗下首款可穿戴智能硬件EYEWEAR,该眼镜是同GentleMonster合作开发。华为EYEWEAR智能硬件采植物工厂正成为中国农业的新形态中国商报中国商网傍晚,家住北京天通苑地区的市民周文娟登录电商网站,点击鼠标,订购了几斤水培蔬菜,次日便有快递员送货上门。我已经连续一个多月买这种水培菜,感觉它非常干净,几乎不用洗,首次!微软实现全自动DNA信息存储,5个字母花了21小时用DNA来存储信息正在离我们越来越近。本周早些时候,微软宣布在概念验证测试中,微软已经演示了第一个全自动DNA数据存储系统。微软在利用DNA来取代数据中心的路途上,也向前迈进了一步