最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

go語言按顯示長度截取字符串的方法

 更新時間:2015年02月24日 12:12:44   作者:不吃皮蛋  
這篇文章主要介紹了go語言按顯示長度截取字符串的方法,涉及Go語言操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了go語言按顯示長度截取字符串的方法。分享給大家供大家參考。具體分析如下:

根據顯示長度截取字符串,之前php用的utf8編碼,10個英文和10個漢字的顯示長度差距太大,按字節(jié)截取的話又會出錯出現(xiàn)截取半個漢字的情況,所以寫了這兩個函數.

這兩天在折騰golang,所以就用golang重寫了著連個函數.代碼如下:

復制代碼 代碼如下:
package main
import (
    "fmt"
)
func main() {
    fmt.Println(show_strlen("哈哈1"))
    fmt.Println(show_substr("哈哈1什1么的", 9))
}

根絕顯示長度截取字符串

復制代碼 代碼如下:
func show_substr(s string, l int) string {
    if len(s) <= l {
        return s
    }
    ss, sl, rl, rs := "", 0, 0, []rune(s)
    for _, r := range rs {
        rint := int(r)
        if rint < 128 {
            rl = 1
        } else {
            rl = 2
        }
        if sl + rl > l {
            break
        }
        sl += rl
        ss += string(r)
    }
    return ss
}

根據字符串顯示獲取顯示長度

復制代碼 代碼如下:
func show_strlen(s string) int {
    sl := 0
    rs := []rune(s)
    for _, r := range rs {
        rint := int(r)
        if rint < 128 {
            sl++
        } else {
            sl += 2
        }
    }
    return sl
}

希望本文所述對大家的Go語言程序設計有所幫助。

相關文章

  • Go結合Gin導出Mysql數據到Excel表格

    Go結合Gin導出Mysql數據到Excel表格

    本文主要介紹了Go結合Gin導出Mysql數據到Excel表格,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • golang實現(xiàn)枚舉的幾種方式

    golang實現(xiàn)枚舉的幾種方式

    在Go語言中,雖沒有內置枚舉類型,但可通過常量、結構體或自定義類型和方法實現(xiàn)枚舉功能,這些方法提高了代碼的可讀性和維護性,避免了魔法數字的使用,感興趣的可以了解一下
    2024-09-09
  • Go調度器學習之goroutine調度詳解

    Go調度器學習之goroutine調度詳解

    這篇文章主要為大家詳細介紹了Go調度器中goroutine調度的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-03-03
  • 深入解析golang?bufio

    深入解析golang?bufio

    這篇文章主要介紹了golang?bufio解析,golang的bufio庫使用緩存來一次性進行大塊數據的讀寫,以此降低IO系統(tǒng)調用,提升性能,需要的朋友可以參考下
    2022-04-04
  • Golang設計模式之單例模式詳細講解

    Golang設計模式之單例模式詳細講解

    單例模式很容易記住。就像名稱一樣,它只能提供對象的單一實例,保證一個類只有一個實例,并提供一個全局訪問該實例的方法。本文就來聊聊Go語言中的單例模式,感興趣的小伙伴可以了解一下
    2023-01-01
  • Golang棧結構和后綴表達式實現(xiàn)計算器示例

    Golang棧結構和后綴表達式實現(xiàn)計算器示例

    這篇文章主要為大家介紹了Golang棧結構和后綴表達式實現(xiàn)計算器示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • go-micro集成RabbitMQ實戰(zhàn)和原理詳解

    go-micro集成RabbitMQ實戰(zhàn)和原理詳解

    本文主要介紹go-micro使用RabbitMQ收發(fā)數據的方法和原理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Golang接口使用教程詳解

    Golang接口使用教程詳解

    在?Go?語言中接口包含兩種含義:它既是方法的集合,?同時還是一種類型并且在Go?語言中是隱式實現(xiàn)的。本文通過示例詳細介紹了Golang接口的使用,需要的可以參考一下
    2022-09-09
  • 詳解Go語言中結構體與JSON間的轉換

    詳解Go語言中結構體與JSON間的轉換

    這篇文章主要為大家詳細介紹了Go語言中結構體與JSON間的轉換,文中的示例代碼講解詳細,對學習Go語言有一定的幫助,需要的可以參考一下
    2022-12-12
  • 淺析Golang如何向已關閉的chan讀寫數據

    淺析Golang如何向已關閉的chan讀寫數據

    這篇文章主要為大家詳細介紹了Golang如何向已關閉的chan讀寫數據,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-02-02

最新評論

和顺县| 建阳市| 德化县| 黎川县| 华安县| 西乡县| 临湘市| 德钦县| 芮城县| 张家口市| 鄯善县| 建始县| 台中市| 射阳县| 千阳县| 蚌埠市| 修武县| 九龙坡区| 伊宁县| 鄂托克前旗| 仪陇县| 隆德县| 焉耆| 华坪县| 卢龙县| 海城市| 邵武市| 鄂温| 洮南市| 白城市| 志丹县| 修文县| 罗甸县| 仪陇县| 讷河市| 宁城县| 阿图什市| 彭山县| 临清市| 牡丹江市| 阿拉善盟|