• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go日期时间函数+常用内建函数+错误处理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
// 时间日期函数包
import "time" 

// 1. 当前时间 time.Now()-->time.Time类型 

// 2. now:=time.Now()  now.Year() now.Month() ->May int(now.Month)->5

// 格式化日期时间

// 方式1   Sprintf("%d")配合 now.Year() 返回格式化字符串

// 方式2   now.Format("2006 01 02 15:04:05")  只取年now.Format("2006")  这个设计太有意思了

// time.Unix 时间戳  UnixNano 纳秒时间戳


func T1() {
	// 指定数据创建一个time.Date 注意参数 月份time.October 时间精确到毫秒 时区必须有 UTC/Local
	birthday := time.Date(1992, time.June , 1, 12, 20, 58,666, time.Local)
    
    // type is time.Time,value is 1992-06-01 12:20:58.000000666 +0800 CST
	fmt.Printf("type is %T,value is %v \n", birthday, birthday)
    
	// 日期格式化 Sprintf
	strbirthday := fmt.Sprintf("%d年%d月%d日", birthday.Year(), birthday.Month(), 	birthday.Day())
	// type is string,value is 1992年6月1日
	fmt.Printf("type is %T,value is %v \n", strbirthday, strbirthday)
	
    // 日期格式化 Format
	str := birthday.Format("2006/01/02 15:04:05")
    
	// type is string,value is 1992/06/01 12:20:58
	fmt.Printf("type is %T,value is %v \n", str, str)
}

内建函数

  1. len(seq) 返回序列的长度 string array slice map chan
  2. new(type) 用于分配内存,主要用于分配值类型 --> 返回的是指针
  3. make() 用于分配内存,主要用来分配引用类型
  4. panic() 抛出错误
  5. recover() 捕获错误

错误处理

默认情况下,当发生错误(panic)后,程序就会退出(崩溃)

希望可以捕获错误,进行处理,保证程序可以继续执行,需要一个处理错误的机制

golang错误处理机制

panic +defer + recover

程序抛出panic异常,defer中通过recover捕获这个异常,然后进行处理

	defer func () { // defer + 匿名函数 + revocer
			err := recover() //内置函数 可以捕获到异常
			if err != nil {
				fmt.Println(err) // 打印错误
				// dosomething 
			}	
		}()

自定义错误

  • errors.New("错误说明") 返回一个error类型 表示一个错误

  • panic()可以接受interface{}类型的值作为参数,可以接受error类型的变量,输出错误信息,并退出程序


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
GoWeb开发之Revel-插件发布时间:2022-07-10
下一篇:
go生产者消费者模型与发布订阅模型发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap