返回顶部
首页 > 资讯 > 精选 >Go如何实现字符串比较
  • 839
分享到

Go如何实现字符串比较

2023-06-29 00:06:25 839人浏览 独家记忆
摘要

这篇“Go如何实现字符串比较”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Go如何实现字符串比较”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。##

这篇“Go如何实现字符串比较”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Go如何实现字符串比较”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

#### 代码示例```gofmt.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() Functionpackage main// importing fmt and stringsimport (    "fmt"    "strings")// calling main methodfunc 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

以上是“Go如何实现字符串比较”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Go如何实现字符串比较

本文链接: https://lsjlt.com/news/321347.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Go如何实现字符串比较
    这篇“Go如何实现字符串比较”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Go如何实现字符串比较”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。##...
    99+
    2023-06-29
  • 如何使用go语言实现字符串比较
    今天小编给大家分享的是如何使用go语言实现字符串比较,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。go语言比较字符串的方法:1、使用“==”运算符,语法“字符串1==字符串2”;2、...
    99+
    2023-06-15
  • go语言如何比较字符串
    这篇文章主要介绍“go语言如何比较字符串”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“go语言如何比较字符串”文章能帮助大家解决问题。比较方法:1、直接使用“==”运算符比较,语法“str1 == ...
    99+
    2023-07-05
  • Go字符串比较的实现示例
    目录Compare 和 EqualFold 区别忽略大小写比较字符串比较, 可以直接使用 == 进行比较, 也可用用 strings.Compare 比较 go 中字符串比较有三种方...
    99+
    2024-04-02
  • php如何比较字符串
    这篇文章将为大家详细讲解有关php如何比较字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP不区分大小写比较字符串的方法:1、使用“strcasecmp(字符串1,字符串2)”语句;2、使用“st...
    99+
    2023-06-15
  • 字符串如何比较大小
    字符串比较大小的步骤:1、将要比较的两个字符串分别赋给两个变量;2、比较两个字符串的长度,较短的字符串将被认为是较小的字符串;3、如果长度相同,逐个比较它们的字符;4、从字符串的第一个字符开始,比较两个字符串的ASCII值;5、如果ASCI...
    99+
    2023-08-18
  • PHP中如何去比较字符串
    这篇文章主要讲解了“PHP中如何去比较字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中如何去比较字符串”吧!在PHP中存在着两个函数用来比较字符串,它们是strcmp() 和 s...
    99+
    2023-06-25
  • 利用Java如何实现对字符串进行比较
    本篇文章给大家分享的是有关利用Java如何实现对字符串进行比较,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CompareTo()方法简介首先,它属于java.lang.Str...
    99+
    2023-05-31
    java 字符串 ava
  • C#的字符串比较
    目录一、函数方法二、Compare方法三、CompareTo方法四、Equals方法五、CompareOrdinal方法总结ASCII码-百度百科 微软官方C#函数文档 一、函数方法...
    99+
    2024-04-02
  • MySQL中字符串比较大小详解(日期字符串比较问题)
    前言 数据库中在对于数字与非数字混合的字符串,在进行大小比较的时候,如果两字符串长度相等,那么两字符串就会比较相同位置的字符,比较时若字符是数字,则直接比较,若字符是非数字那么会转换为ascii码进行比较,若在某位置上已...
    99+
    2024-04-02
  • python 如何比较字符串是否一样
    在python中,判断两个变量是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。 示例 使用注意事项 1.有时候两个字符串打印出来看着一样,但是判断却是False? 如果两个字符串末尾有...
    99+
    2022-06-02
    python 字符串比较
  • javascript如何比较字符串是否相等
    这篇文章主要介绍javascript如何比较字符串是否相等,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! javascript比较字符串是否相等的方法:1...
    99+
    2024-04-02
  • c语言如何进行字符串比较
    这篇文章将为大家详细讲解有关c语言如何进行字符串比较,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方...
    99+
    2023-06-14
  • php如何不分大小比较字符串
    小编给大家分享一下php如何不分大小比较字符串,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在php中,可以使用内置函数strncasecmp()来不区分大小写的比较字符串,语法“strncasecmp(str1,str2...
    99+
    2023-06-08
  • java如何比较两个字符串相等
    在Java中,可以使用equals()方法来比较两个字符串是否相等。equals()方法是String类的一个方法,用于比较两个字符...
    99+
    2023-08-22
    java
  • #Python3中字符串的比较
    20.字符串的比较 从第一个字符开始比较谁的ASCII值谁就大 如果前面相同 则比较后一位直到比较出谁大 如果都相同 则相等 print("acc"<"b") #(输出)True print("sunck"=="sunc...
    99+
    2023-01-31
    字符串
  • Python字符串比较:如何判断两个字符串是否相等?
    Python字符串比较:如何判断两个字符串是否相等? 在Python编程中,字符串是最常用的数据类型之一。当我们需要比较两个字符串时,通常需要判断它们是否相等。这篇文章将详细介绍Python中比较两个字符串的方法。 使用“==”运算符比较...
    99+
    2023-08-22
    python 开发语言 java Python
  • 几种分割字符串实现方法的比较
    在数据库开发中,有时会遇到把字符串,按一定规则进行分割,比如“a,b,c,1,2,3”这样的以逗号为分隔符的字符串,需要把分割出来,分割后单独变行一行记录。首先想到的是使用替换函数把分隔符去掉。于是有了:I...
    99+
    2024-04-02
  • java中如何比较字符串是否相等
    1、java中字符串的比较:==我们经常习惯性的写上if(str1==str2),这种写法在java中可能会带来问题 example1:String a="abc";String b="abc"那么a==b将返回true。因为在java中字...
    99+
    2019-03-24
    java 比较 字符串 相等
  • jquery中如何比较字符串是否相等
    这篇“jquery中如何比较字符串是否相等”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jquery中如何比较字符串是否相等...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作