golang中獲取字符串長度的幾種方法


一、獲取字符串長度的幾種方法

 

  1.  
    - 使用 bytes.Count() 統計
  2.  
    - 使用 strings.Count() 統計
  3.  
    - 將字符串轉換為 []rune 后調用 len 函數進行統計
  4.  
    - 使用 utf8.RuneCountInString() 統計

 

 

例:

  1.  
    str:= "HelloWord"
  2.  
    l1:= len([]rune(str))
  3.  
    l2:=bytes.Count([] byte(str),nil)-1)
  4.  
    l3:=strings.Count(str, "")-1
  5.  
    l4:=utf8.RuneCountInString(str)
  6.  
    fmt.Println(l1)
  7.  
    fmt.Println(l2)
  8.  
    fmt.Println(l3)
  9.  
    fmt.Println(l4)
  10.  
    打印結果:都是 9

 


 

二、strings.Count函數和bytes.Count函數

這兩個函數的用法是相同,只是一個作用在字符串上,一個作用在字節上


strings中的Count方法

 

func Count(s, sep string) int{}

   判斷字符sep在字符串s中出現的次數,沒有找到則返回-1,如果為空字符串("")則返回字符串的長度+1

 

例:

 

  1.  
    str:= "HelloWorld"
  2.  
    fmt.Println(strings.Count(str, "o"))  //打印 o 出現的次數,打印結果為2

 

注:在 Golang 中,如果字符串中出現中文字符不能直接調用 len 函數來統計字符串字符長度,這是因為在 Go 中,字符串是以 UTF-8 為格式進行存儲的,在字符串上調用 len 函數,取得的是字符串包含的 byte 的個數。

  1.  
    str:= "HelloWorld"
  2.  
     
  3.  
    str1 := "Hello, 世界"
  4.  
    fmt.Println( len(str1)) // 打印結果:13
  5.  
    fmt.Println( len(str)) //打印結果:9 (如果是純英文字符的字符串,可以使用來判斷字符串的長度)
  6.  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM