Go语言学习Day6

工作总结:

工作原因,鸽了四天没有学习,不过这几天工作也颇有收获:

  • Mysql8.04不支持desc排序,而之前写好的sql语句在调用时会报错
  • vue环境布置时,版本必须与文档中一致,不然环境汇报无数错误
  • git操作,git rabase和 git fetch是两个很有用的操作,合并时优先检查
  • django中request.data['key']与request.data.get('key')的区别——前者调用QueryDict.__getitem__(key)方法,如果key不存在则报错,后者调用QueryDict.get(key,default=None)方法,key不存在则返回None。
  • ast.literal_eval()方法,对传入的字符串自动进行类型转换。
  • @django.utils.functional.cached_property,cached_property,缓存装饰器,方法上加了这个装饰器表示该方法只执行一次,第二次则用缓存数据
  • iteritems(),于python2中返回一个迭代器,有序字典

from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
Paginator 分页器对象——期中的属性:object_list, per_page, orphans=0(缺省参数,表示还剩几条数据时可以合并到上一页), allow_empty_first_page=True(允许首页为空)

Day6 Golang:

  • Go语言没有专门的定义异常,是靠error的interface返回值来实现异常返回
  • 关于strconv包,提供了字符串与简单的数字类型之间转换的功能。可以将简单的字符串与数字类型互转——字符串转int:Atoi(),int转字符串:Itoa()
func GetFibonacci2(str string) {
	var (
		i    int
		err  error
		list []int
	)
	if i, err = strconv.Atoi(str); err != nil {
		fmt.Println("Error", err)
		return
	}
	if list, err = GetFibonacci(i); err != nil {
		fmt.Println("Error", err)
		return
	}
	fmt.Println(list)
}
  • panic,用于不可恢复的错误。panic调用退出程序前,会执行defer。

panic 与 os.Exit 的区别:

  • os.Exit 在调用退出时,不会调用defer;
  • os.Exit 在退出时,不会输出当前调用栈信息。
// 常见的错误恢复
    defer func() {
        if err := recover(); err != nil {
            log.Error("recovered panic", err)
        }
    }()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值