首頁 > 後端開發 > Golang > 用go語言怎麼實作字串比較

用go語言怎麼實作字串比較

青灯夜游
發布: 2023-02-08 17:35:11
原創
6876 人瀏覽過

go語言比較字串的方法:1、使用「==」運算符,語法「字串1==字串2」;2、使用strings套件的ToLower()函數;3、使用strings套件的Compare()函數,可依字典順序比較兩個字串,語法「strings.Compare(str1,str2)」;4、使用strings套件的EqualFold()函數,可忽略大小寫的比較字串,傳回值為bool類型。

用go語言怎麼實作字串比較

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

方法1:使用「==」運算子(區分大小寫)

package main

import "fmt"

func main() {
   fmt.Println("go"=="go")
   fmt.Println("GO"=="go")
}
登入後複製

輸出:

true
false
登入後複製

方法2:使用strings.ToLower(不區分大小寫)

package main

import (
    "fmt"
    "strings"
)

func main() {
    srcString := "This a string"
    destString := "this a string"

    if strings.ToLower(srcString) == strings.ToLower(destString) {
        fmt.Println("相等")
    } else {
        fmt.Println("不相等")
    }
}
登入後複製

輸出:

相等
登入後複製

方法3:使用strings.Compare(區分大小寫)

Compare()函數是Golang程式語言中的內建函數,用於比較兩個字串。它用於按字典順序比較兩個字串(按字母順序排列單字的順序,類似於我們在字典中搜尋單字的方式),或查找字串是否相等。它傳回一個整數值,如下所示:

func Compare(s1, s2 string) int
登入後複製
  • 如果字串相等(s1 == s2),則傳回0

  • ##如果字串1大於字串2(s1> s2),則傳回1。

  • 如果字串1小於字串2,則傳回-1(s1

範例:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Compare("GO","go"))
    fmt.Println(strings.Compare("go","go"))
}
登入後複製

輸出:


-1
0
登入後複製

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

方法4:使用strings.EqualFold(不區分大小寫)
##strings.EqualFold 是忽略大小寫的比較,返回bool

package main

import (
    "fmt"
    "strings"
)

func main() {
   fmt.Println(strings.EqualFold("GO","go"))
   fmt.Println(strings.EqualFold("go","go"))
}
登入後複製

輸出:

true
true
登入後複製

推薦學習:

Golang教學

#

以上是用go語言怎麼實作字串比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板