淺談Go中數字轉換字符串的正確姿勢

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

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

比如下面:

string(120)

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

所以在Go中將byte或者int類型的值轉換為數字的字符串表現形式的正確方法是使用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)
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 在Go中構建并發TCP服務器

    在Go中構建并發TCP服務器

    今天小編就為大家分享一篇關于在Go中構建并發TCP服務器的文章,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Go語言基礎學習教程

    Go語言基礎學習教程

    這篇文章主要介紹了Go語言基礎知識,包括基本語法、語句、數組等的定義與用法,需要的朋友可以參考下
    2016-07-07
  • go panic時如何讓函數返回數據?

    go panic時如何讓函數返回數據?

    今天小編就為大家分享一篇關于go panic時如何讓函數返回數據?,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • golang json性能分析詳解

    golang json性能分析詳解

    json格式可以算我們日常最常用的序列化格式之一了,Go語言作為一個由Google開發,號稱互聯網的C語言的語言,自然也對JSON格式支持很好。下面這篇文章主要給大家詳細分析介紹了golang json性能的相關資料,需要的朋友可以參考下。
    2018-02-02
  • Golang 內存模型詳解(一)

    Golang 內存模型詳解(一)

    這篇文章主要介紹了Golang 內存模型詳解(一),本文講解了Go內存模型interface、,需要的朋友可以參考下
    2014-10-10
  • Go語言使用字符串的幾個技巧分享

    Go語言使用字符串的幾個技巧分享

    這篇文章中小編將給出一些Go語言在處理字符串方面的技巧,對大家學習Go語言具有一定的參考借鑒價值,下面一起看看吧。
    2016-09-09
  • 在Linux系統中安裝Go語言的詳細教程

    在Linux系統中安裝Go語言的詳細教程

    這篇文章主要介紹了在Linux系統中安裝Go語言的詳細教程,由于國內很多人對谷歌的盲目追捧,導致Go語言在國內的人氣遠超國外...需要的朋友可以參考下
    2015-06-06
  • golang中import cycle not allowed解決的一種思路

    golang中import cycle not allowed解決的一種思路

    這篇文章主要給大家介紹了關于golang中import cycle not allowed解決的一種思路,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-08-08
  • go語言對文件按照指定塊大小進行分割的方法

    go語言對文件按照指定塊大小進行分割的方法

    這篇文章主要介紹了go語言對文件按照指定塊大小進行分割的方法,實例分析了Go語言文件操作的技巧,需要的朋友可以參考下
    2015-03-03
  • 在Visual Studio Code中配置GO開發環境的詳細教程

    在Visual Studio Code中配置GO開發環境的詳細教程

    這篇文章主要介紹了在Visual Studio Code中配置GO開發環境的詳細教程,需要的朋友可以參考下
    2017-02-02

最新評論

pc蛋蛋计划下载