時間和日期類型
introduction
- 時間與日期類型位於
time
包中
- 時間類型 為
time.Time
用來表示時間
time.Duration
用來表示奈秒
- 一些常量:
1 2 3 4 5 6 7 8
| const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute )
|
獲取當前時間
獲取當前時間使用time.Now()
example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package main
import ( "fmt" "time" )
func main(){ now := time.Now() Now_day := now.Day() Now_Minute := now.Minute() Now_Month := now.Month() Now_Year := now.Year()
fmt.Println("now is:",now) fmt.Println("day is:",Now_day) fmt.Println("minute is:",Now_Minute) fmt.Println("month is:",Now_Month) fmt.Println("year is:",Now_Year) }
|
result
1 2 3 4 5 6
| now is: 2018-03-27 20:56:45.447703 +0800 CST m=+0.004010601 day is: 27 minute is: 56 month is: March year is: 2018 2018/03/27-20:56:45
|
時間輸出格式化
example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package main
import ( "fmt" "time" )
func main(){ now := time.Now() fmt.Printf("%02d/%02d/%02d-%02d:%02d:%02d\n", now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second()) fmt.Println(now.Format("02/1/2006 15:04")) fmt.Println(now.Format("2006/1/02 15:04")) fmt.Println(now.Format("2006/1/02 ")) }
|
[1] 第二種時間必須為Go誕生的時間,不能自己隨便定義,否則輸出的時間不對
result
1 2 3 4
| 2018/03/27-21:21:09 27/3/2018 21:21 2018/3/27 21:21 2018/3/27
|
指針類型
Introduction
- 變量預設存的為”值“,稱值類型或是普通類型
- 使用&獲取變量的地址,例:
var a int
,要獲取a的地址就是&a
- 指針類型,變量存的是地址,這個地址存的才是值
- 獲取指針類型所指向的值,使用
*
,比如:var *p int
, 使用*p
獲取p
指向的值
獲取變量地址
1 2 3 4 5 6 7 8
| package main
import "fmt"
func main(){ var a int fmt.Println("a address=",&a) }
|
result
函數傳入指針並修改值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| package main
import "fmt"
func modify_var(a *int){ *a = 10 return }
func main(){ var a int = 5 fmt.Println(a) modify_var(&a) fmt.Println(a) }
|
[1] *int
為int類型的指針,接受的值必須為指針類型
[2] &
獲取變量的地址
[3] *
獲取內存地址指向的值,進行修改
result