学习golang(day 12)- builtin、errors、sort、time 2022-05-28 23:23:00 编程 golang 暂无评论 436 次阅读 1673字 修改时间:2022-05-29 00:07:50 # builtin builtin 是一个特殊的包,无需导入即可使用 **常用函数** - append : 数组、切片追加数据 - len : 返回 数组、切片、字符串、通道的长度 - panic: 抛出一个异常 - new 和 make ,区别: - make只能分配初始化切片、map、通道的数据,new 可以分配任意类型 - new返回的是指针,即*T,make返回的引用,即T - new 分配的空间的被清零,make 分配后,会进行初始化 ------------ #errors error包实现了操作错误的函数,如果error返回的是nil,则表示未遇到错误,反之则说明出现了错误 error是一个接口,常用于函数的返回值 **示例** ```go func check(str string) error { if str == ""{ return errors.New("字符串不能为空") } return nil } func main() { err := check("") if err != nil { fmt.Println(err.Error()) } } ``` ------------ #sort sort包提供了对切片排序的功能 **示例** ```go s := []int{3,1,2} sort.Ints(s) fmt.Println(s) // 输出 : [1 2 3] ``` ------------ #time golang 的日期格式化的模板为,2006/01/02 15:04:05.000,别的语言中大多为 yyyy/mm/dd hh:mm,golang用自己诞生的时间作为日期格式化,比较任性 **示例** ```go func main() { now := time.Now() fmt.Println(now) // 输出:2022-05-28 23:45:09.5807825 +0800 CST m=+0.001544401 fmt.Println(now.Year()) // 年 2022 fmt.Println(now.Month()) // 月 May fmt.Println(now.Day()) // 日 28 fmt.Println(now.Hour()) // 时 23 fmt.Println(now.Minute()) // 分 46 fmt.Println(now.Second()) // 秒 50 fmt.Println(now.Unix()) //时间戳 1653752934 now.Add(time.Hour) // 增加一小时 // 格式化,2006/01/02 15:04:05.000 是golang 诞生的时间,格式化需要这个模板,google真任性 format := now.Format("2006/01/02 15:04:05.000") fmt.Println(format) // 输出 2022/05/29 00:00:18.039 // 字符串解析成日期, location, _ := time.ParseInLocation("2006/01/02 15:04", "2022/05/28 23:59", time.Local) fmt.Println(location) // 输出 2022-05-28 23:59:00 +0800 CST } ``` 标签: golang
评论已关闭