int
(time.
now().
weekday()
)//星期轉int
int(time.
now().
month()
)//月份轉int
var a float64
a =3.1
b :=
int(a)
//float64轉int
var a int
a =1
b :=
int64
(a)//int轉int64
**
string和int、int32、int64:
i,
_:= strconv.
atoi
(s)//string轉int
s := strconv.
itoa
(i)//int轉string
i,
_:= strconv.
parseint
(s,10,32
)//string轉int32
ii :=
int32
(i)
i,
_:= strconv.
parseint
(s,10,64
)//string轉int32
s := strconv.
formatint
(i,10
)//int64轉string
parseint函式的官方介紹:
func
parseint
(s string
, base int
, bitsize int
)(i int64
, err error
)
–返回字串表示的整數值,接受正負號。
–base指定進製(2到36),如果base為0,則會從字串前置判斷,"0x"是16進製制,"0"是8進製,否則是10進製。
–bitsize指定結果必須能無溢位賦值的整數型別,0、8、16、32、64 分別代表 int、int8、int16、int32、int64。
–返回的err是*numerr型別的,如果語法有誤,err.error = errsyntax;如果結果超出型別範圍err.error = errrange。
formatint函式中的10,表示10進製。
string和float32、float64:
f,
_:= strconv.
parsefloat
(s,32
)//string轉float32
ff :=
float32
(f)
f,
_:= strconv.
parsefloat
(s,64
)//string轉float64
s := strconv.
formatfloat
(f,'f',-
1,64)
//float64轉string
parsefloat函式的官方介紹:
func
parsefloat
(s string
, bitsize int
)(f float64
, err error
)
–解析乙個表示浮點數的字串並返回其值。
–如果s合乎語法規則,函式會返回最為接近s表示值的乙個浮點數(使用ieee754規範捨入)。
–bitsize指定了期望的接收型別,32是float32(返回值可以不改變精確值的賦值給float32),64是float64。
–返回值err是*numerr型別的,語法有誤的,err.error=errsyntax;結果超出表示範圍的,返回值f為±inf,err.error= errrange。
formatfloat函式的官方介紹:
func
formatfloat
(f float64
, fmt byte
, prec, bitsize int
)string
–fmt表示格式:『f』(-ddd.dddd)、『b』(-ddddp±ddd,指數為二進位制)、『e』(-d.dddde±dd,十進位制指數)、『e』(-d.dddde±dd,十進位制指數)、『g』(指數很大時用』e』格式,否則』f』格式)、『g』(指數很大時用』e』格式,否則』f』格式)。
–prec控制精度(排除指數部分):對』f』、『e』、『e』,它表示小數點後的數字個數;對』g』、『g』,它控制總的數字個數。如果prec 為-1,則代表使用最少數量的、但又必需的數字來表示f。
string和time:
t,
_:= time.
parse
("2006-01-02 15:04:05"
, s)
//string轉時間t,_
:= time.
parseinlocation
("2006-01-02 15:04:05"
, s, time.local)
//string轉本地時間
s := t.
format
("2006-01-02 15:04:05"
)//時間轉string
expression必須是介面型別,且自身型別與type型別相符。
expression.(type)的返回值一般為兩個:value和ok,匹配成功ok為true,value有值,匹配失敗ok為false,value無值;也可以直接接受value乙個返回值,不過失敗則直接panic:
func
main()
=100
if aa, ok := a.
(int
); ok
}
還可以結合switch和case使用,來判斷介面實際型別:
func
main()
=100
switch i := t.
(type
)}
golang中大多數資料型別都可以轉化為有效的json文字,除了channel通道、complex複數、func函式等。
golang指標可進行隱式轉換,表面進行的是指標序列化,內部會針對指標進行取值操作,實際還是針對所指的物件進行序列化。
Golang常見型別轉換
int time.now weekday 星期轉int int time.now month 月份轉intvar a float64 a 3.1 b int a float64轉intvar a int a 1 b int64 a int轉int64 string和int int32 int64 i...
golang 型別轉換
go 檢視變數型別 reflect.typeof 變數名 int 轉string s strconv.itoa i 等價於 strconv.formatint int i 10 示例 func zhuan int64轉string i int64 123 s strconv.formatint i,...
golang時間型別轉換
1.獲取當前時間,返回utc時間currenttime time.now fmt.printf v t n currenttime,currenttime 2.獲取當前時間戳timeunix time.now unix 單位秒 fmt.printf v t n timeunix,timeunix t...