Go語言time庫的深入研究

2021-09-11 04:57:32 字數 3013 閱讀 6230

本人機器的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需要一定的指令碼功底,後面我會逐步...