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

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

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

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

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

這兩天在折騰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實現枚舉的幾種方式

    golang實現枚舉的幾種方式

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

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

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

    深入解析golang?bufio

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

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

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

    Golang棧結構和后綴表達式實現計算器示例

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

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

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

    Golang接口使用教程詳解

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

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

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

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

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

最新評論

林西县| 吉首市| 仙游县| 灌南县| 万源市| 长白| 安庆市| 湄潭县| 芷江| 基隆市| 厦门市| 锦州市| 蚌埠市| 海安县| 房产| 顺平县| 化德县| 竹北市| 陆河县| 白沙| 天等县| 米易县| 岳阳县| 咸宁市| 巢湖市| 莱西市| 胶州市| 渭源县| 潮州市| 六安市| 辛集市| 红河县| 宜春市| 松阳县| 板桥市| 齐河县| 土默特左旗| 任丘市| 昭平县| 阜宁县| 信宜市|