欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Go中數(shù)字轉(zhuǎn)換字符串的正確姿勢

 更新時間:2019年10月11日 14:04:54   作者:KevinYan  
這篇文章主要介紹了淺談Go中數(shù)字轉(zhuǎn)換字符串的正確姿勢,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在許多語言中,你可以輕松地將任何數(shù)據(jù)類型轉(zhuǎn)換為字符串,只需將其與字符串連接,或者使用類型轉(zhuǎn)換表達式即可。但是,如果你在Go中嘗試執(zhí)行似乎很明顯的操作(例如將int轉(zhuǎn)換為字符串),你不太可能獲得預(yù)期的效果。

比如下面:

string(120)

你期望返回的結(jié)果是什么?如果你有使用其他編程語言的經(jīng)驗,那么大多數(shù)人的猜測是“ 123”。相反,在Go中上面的類型轉(zhuǎn)換會得到“ E”之類的值,那根本不是我們想要的。因為string()會直接把字節(jié)或者數(shù)字轉(zhuǎn)換為字符的UTF-8表現(xiàn)形式。

所以在Go中將byte或者int類型的值轉(zhuǎn)換為數(shù)字的字符串表現(xiàn)形式的正確方法是使用strconv包中的方法,比如strconv.Itoa。

strconv.Itoa(120)// 返回"120"

下面的例子,可以試著把strconv.Itoa改成string看看得到什么輸出。

package main

import (
 "fmt"
 "strings"
 "strconv"
)

type IPAddr [4]byte

func (p IPAddr) String() string {
  var ipParts []string
  for _, item := range p {
  ipParts = append(ipParts, strconv.Itoa(int(item)))
  }
  return strings.Join(ipParts, ".")
}

func main() {
  hosts := map[string]IPAddr{
  "loopback": {127, 0, 0, 1},
  "googleDNS": {8, 8, 8, 8},
  }
  for name, ip := range hosts {
  fmt.Printf("%v: %v\n", name, ip)
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Go語言基于viper實現(xiàn)apollo多實例快速

    Go語言基于viper實現(xiàn)apollo多實例快速

    viper是適用于go應(yīng)用程序的配置解決方案,這款配置管理神器,支持多種類型、開箱即用、極易上手。本文主要介紹了如何基于viper實現(xiàn)apollo多實例快速接入,感興趣的可以了解一下
    2023-01-01
  • golang中連接mysql數(shù)據(jù)庫

    golang中連接mysql數(shù)據(jù)庫

    這篇文章主要介紹了golang中連接mysql數(shù)據(jù)庫的步驟,幫助大家更好的理解和學(xué)習(xí)go語言,感興趣的朋友可以了解下
    2020-12-12
  • Go語言實現(xiàn)遺傳算法的實例代碼

    Go語言實現(xiàn)遺傳算法的實例代碼

    Go 是一個開源的編程語言,它能讓構(gòu)造簡單、可靠且高效的軟件變得容易。本文將重點介紹如何用Go語言實現(xiàn)遺傳算法。如果你還沒有參加過GoLang Tour,我還建議你快速看一下這門語言的介紹
    2017-11-11
  • GoLang日志監(jiān)控系統(tǒng)實現(xiàn)

    GoLang日志監(jiān)控系統(tǒng)實現(xiàn)

    這篇文章主要介紹了GoLang日志監(jiān)控系統(tǒng)的實現(xiàn)流程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • Golang程序中使用Prometheus的client_golang庫

    Golang程序中使用Prometheus的client_golang庫

    這篇文章主要介紹了Golang程序中使用Prometheus的client_golang庫,Prometheus 是一個開源的監(jiān)控和警報工具包,用于收集和處理應(yīng)用程序和系統(tǒng)的指標(biāo)數(shù)據(jù)。Prometheus 提供了多種客戶端庫,可以輕松地集成到各種編程語言中
    2023-04-04
  • 基于Go?goroutine實現(xiàn)一個簡單的聊天服務(wù)

    基于Go?goroutine實現(xiàn)一個簡單的聊天服務(wù)

    對于聊天服務(wù),想必大家都不會陌生,因為在我們的生活中經(jīng)常會用到,本文我們用?Go?并發(fā)來實現(xiàn)一個聊天服務(wù)器,這個程序可以讓一些用戶通過服務(wù)器向其它所有用戶廣播文本消息,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 基于golang時間轉(zhuǎn)換的問題

    基于golang時間轉(zhuǎn)換的問題

    下面小編就為大家?guī)硪黄趃olang時間轉(zhuǎn)換的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Go語言實現(xiàn)23種設(shè)計模式的使用

    Go語言實現(xiàn)23種設(shè)計模式的使用

    設(shè)計模式是軟件工程中各種常見問題的經(jīng)典解決方案,,本文主要介紹了Go語言實現(xiàn)23種設(shè)計模式的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Golang判斷兩個鏈表是否相交的方法詳解

    Golang判斷兩個鏈表是否相交的方法詳解

    這篇文章主要為大家詳細介紹了如何通過Golang判斷兩個鏈表是否相交,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-03-03
  • Go?WEB框架使用攔截器驗證用戶登錄狀態(tài)實現(xiàn)

    Go?WEB框架使用攔截器驗證用戶登錄狀態(tài)實現(xiàn)

    這篇文章主要為大家介紹了Go?WEB框架使用攔截器驗證用戶登錄狀態(tài)實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論