Go 語言 極簡類型轉(zhuǎn)換庫 -- cast
cast是一個小巧、實用的類型轉(zhuǎn)換庫,用于將一個類型轉(zhuǎn)為另一個類型。最初開發(fā)cast是用在hugo中的,后來才廣泛被人所熟知,并推廣開來。
# 1. 使用方法
Cast提供了一些To_____方法。這些方法將始終返回所需的類型。如果提供了不會轉(zhuǎn)換為該類型的輸入,則將返回該類型的0或nil值。
Cast還提供了與To_____E相同的方法。這些返回與To_____方法相同的結(jié)果,外加一個附加錯誤,告訴您是否成功轉(zhuǎn)換。使用這些方法,您可以分辨出輸入何時與零值匹配或轉(zhuǎn)換失敗與返回零值之間的區(qū)別。
# 2. string與int類型轉(zhuǎn)換
這一組函數(shù)是我們平時編程中用的最多的。
?ToString()
ToString()函數(shù)用于將非字符串類型的整數(shù)轉(zhuǎn)換為字符串類型,函數(shù)簽名如下。
示例代碼如下:
cast.ToString("mayonegg")?????????//?"mayonegg"
cast.ToString(8)??????????????????//?"8"
cast.ToString(8.31)???????????????//?"8.31"
cast.ToString([]byte("one?time"))?//?"one?time"
cast.ToString(nil)????????????????//?""
var?foo?interface{}?=?"one?more?time"
cast.ToString(foo)????????????????//?"one?more?time"
?ToInt()
ToInt()函數(shù)用于將非 int類型數(shù)據(jù)轉(zhuǎn)換為對應(yīng)的int表示,具體的函數(shù)簽名如下。
示例代碼如下:
cast.ToInt(8)??????????????????//?8
cast.ToInt(8.31)???????????????//?8
cast.ToInt("8")????????????????//?8
cast.ToInt(true)???????????????//?1
cast.ToInt(false)??????????????//?0
var?eight?interface{}?=?8
cast.ToInt(eight)??????????????//?8
cast.ToInt(nil)????????????????//?0
本篇文章只對一些簡單場景做了一些演示,示例全部來自 github readme 文檔
除此之外,cast 還非常非常多的類型之間的轉(zhuǎn)換,更多函數(shù)建議直接查看官方文檔:https://github.com/spf13/cast。
? ?

???
評論
圖片
表情
