go语言笔记

1.如何在程序查看某个变量的占用字节大小和数据类型

var a int64  =10

fmt.Println("a的数据类型是 %T  占用的字节数是 %d",a,unsafe.Sizeof(a))

2.关于go的环境配置   今天我打vendor 报错 vendor:command not found   原因是我的项目路径并没有配bin路径的环境变量   govendor的运行程序也没放bin目录下  。然后我就将govendor运行程序放goroot 目录下的bin目录下了   这样不好   。算了  懒得改了。

3.如何截取字符串

func Test_GoSubString(t *testing.T) {
str := "sssssddddd"
rs := []rune(str)
// rs[开始索引:结束索引]
fmt.Println(string(rs[3:6]))//ssd
str = "你好, Go语言"
rs = []rune(str)
fmt.Println(string(rs[1:4]))//好,
}

4.//获取两天前的时间

currentTime := time.Now()
oldTime := currentTime.AddDate(0, 0, -2) //若要获取3天前的时间,则应将-2改为-3
//oldTime 的结果为go的时间time类型,2018-09-25 13:24:58.287714118 +0000 UTC

将代表时间的字符串转化为时间格式:

time.Parse("20060102",代表时间的字符串)。

time常用方法

After(u Time) bool 时间类型比较,是否在Time之后

Before(u Time) bool 时间类型比较,是否在Time之前

Equal(u Time) bool 比较两个时间是否相等

IsZero() bool 判断时间是否为零值,如果sec和nsec两个属性都是0的话,则该时间类型为0

Date() (year int, month Month, day int) 返回年月日,三个参数

Year() int 返回年份

Month() Month 返回月份.是Month类型

Day() int 返回多少号

Weekday() Weekday 返回星期几,是Weekday类型

ISOWeek() (year, week int) 返回年份,和该填是在这年的第几周.

Clock() (hour, min, sec int) 返回小时,分钟,秒

Hour() int 返回小时

Minute() int 返回分钟

Second() int 返回秒数

Nanosecond() int 返回纳秒

计算时间差

now := time.Now()

// 10分钟前

m, _ := time.ParseDuration("-1m") m1 := now.Add(m) fmt.Println(m1)

// 8个小时前

h, _ := time.ParseDuration("-1h") h1 := now.Add(8 * h) fmt.Println(h1)

// 一天前

d, _ := time.ParseDuration("-24h") d1 := now.Add(d) fmt.Println(d1) printSplit(50)

// 10分钟后

mm, _ := time.ParseDuration("1m") mm1 := now.Add(mm) fmt.Println(mm1)

// 8小时后

hh, _ := time.ParseDuration("1h") hh1 := now.Add(hh) fmt.Println(hh1)

// 一天后

dd, _ := time.ParseDuration("24h") dd1 := now.Add(dd) fmt.Println(dd1) printSplit(50)

// Sub 计算两个时间差

subM := now.Sub(m1) fmt.Println(subM.Minutes(), "分钟") sumH := now.Sub(h1) fmt.Println(sumH.Hours(), "小时") sumD := now.Sub(d1) fmt.Printf("%v 天 ", sumD.Hours()/24)

得到一个月后或者一年后的时间

func (t Time) AddDate(years int, months int, days int) Time
时间点January 1, 2011调用AddDate(-1, 2, 3)会返回March 4, 2010。

5.float64是可以直接转int的  int(float64)

原文地址:https://www.cnblogs.com/hua-hua-good-good-study-day-day-up/p/12013031.html