本人機器的go版本為1.10.3,所以對於time庫的研究是基於go1.10.3,下面是time庫下的所有go檔案。先排除
***_test.go
檔案,主要的檔案為:
time.go, format.go, zoneinfo.go的主要可以的呼叫方法和簡單解釋如下:
package main
import
("time"
"fmt"
"reflect"
)func
main()
fmt.
printf
("marshalbinary the secondtime is: %v\n"
, bytetime)
tmpbytetime := time.time
err = tmpbytetime.
unmarshalbinary
(bytetime)
if err !=
nil fmt.
printf
("unmarshalbinary the secondtime is: %v\n"
, tmpbytetime)
jsontime, err := secondtime.
marshaljson()
if err !=
nil fmt.
printf
("marshaljson the secondtime is: %v\n"
, jsontime)
tmpjsontime := time.time
err = tmpjsontime.
unmarshaljson
(jsontime)
if err !=
nil fmt.
printf
("unmarshaljson the secondtime is: %v\n"
, tmpjsontime)
texttime, err := secondtime.
marshaltext()
if err !=
nil fmt.
printf
("marshaltext the secondtime is: %v\n"
, texttime)
tmptexttime := time.time
err = tmpjsontime.
unmarshaltext
(texttime)
if err !=
nil fmt.
printf
("unmarshaltext the secondtime is: %v\n"
, tmptexttime)
mocktime := time.
date(1
,2,3
,4,5
,6,7
, now.
location()
) fmt.
printf
("mock a time follow local location is: %v\n"
, mocktime)
// location from zoneinfo.go
location := now.
location()
fmt.
printf
("current location is: %v\n"
, location)
fmt.
printf
("current location(string) is: %s\n"
, location.
string()
) fixlocation := time.
fixedzone
("local",-
8)fmt.
printf
("fixed the local zone is: %v\n"
, fixlocation)
}func
genutctime()
func
genutctime1()
// 格式化當前時間,並進行解析
func
parsetime()
fmt.
printf
("the result of parse(utc) is: %v\n"
, parseresult)
// 增加乙個引數,時區
parseresult1, err := time.
parseinlocation
("2006-01-02t15:04:05.000z"
, utctimeformat, time.local)
if err !=
nil fmt.
printf
("the result of parse(local) is: %v\n"
, parseresult1)
dateformat := parseresult.
format
("2006-01-02"
) fmt.
printf
("format the parsed result is: %s\n"
, dateformat)
}// 解析時間段
func
parseduration()
fmt.
printf
("parse the duration is: %v, its type is: %v\n"
, duration, reflect.
typeof
(duration))}
func
timestampformat
(timestamp int64
)string
UILabel 的深入研究
建立uilabel與建立uiview的步驟很相似。1 開闢空間並初始化 如果本類有初始化方法,使用自己的 否則 使用父類的 2 設定文字控制相關的屬性 3 新增到父檢視上,用以顯示 4 釋放 uilabel的使用 uilabel onelabel uilabel alloc init 最經常使用的 ...
類的深入研究
1.在 person.h 裡面新增兩個方法宣告 void eat 和 void run import inte ce person nsobject void eat void run end 在 person.m 裡面實現方法 import person.h implementation pers...
Linux架構的深入研究
1.linux其實只用幾個檔案就可以跑了。就是init 必須 rc,inittab.sh.注意,這樣linux其實是在single user模式下,許可權相當於root 2.如果同好們想要更多的功能,就可以新增一些程式來滿足自己的需要。當然,編寫rc和inittab需要一定的指令碼功底,後面我會逐步...