panic会让程序停止,为了防止因panic造成这类问题,需要将panic覆盖掉Painc用法是:用于抛出错误。Recover()用法是:将Recover()写在defer中,并且在可能发生panic的地方之前,先调用此defer的东西(让系统方法域结束时,有代码要执行。)当程序遇到panic的时候(当然,也可以正常的调用出现的异常情况),系统将跳过后面的代码,进入defer,如果defer函数中
分类:
其他好文 时间:
2019-02-05 13:09:49
阅读次数:
221
定义错误packagemainimport("errors""fmt")varerrNotFounderror=errors.New("Notfounderror")funcmain(){fmt.Printf("error:%v",errNotFound)}自定义错误typeerrorinterface{Error()string}自定义错误packagemainimport(//"fmt")ty
分类:
其他好文 时间:
2019-01-31 01:25:31
阅读次数:
183
ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间。 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 2)设置deferred_segment_creation参 ...
分类:
数据库 时间:
2019-01-28 15:11:36
阅读次数:
205
package main import ( "fmt" "sync" "time" ) // 生产数据 func producer(num ...int)(ret<-chan int) { out:=make(chan int) go func() { defer close(out) for k,... ...
分类:
其他好文 时间:
2019-01-24 00:29:23
阅读次数:
181
panic详情;从panic被引发到程序终止运行的过程;panic函数;recover函数;defer语句:defer执行顺序
分类:
其他好文 时间:
2019-01-21 01:10:45
阅读次数:
242
举例:packagemainimport("fmt""os""bufio")//打开文件funcwriteFile(filenamestring){file,err:=os.Create(filename)iferr!=nil{panic(err)}//往文件写内容(直接写文件会比较慢,所以这里用bufio。先写到内存里,再内存一下写进去会比较快)writer:=bufio.NewWriter(f
分类:
其他好文 时间:
2019-01-20 15:56:49
阅读次数:
207
Goroutine 是用户态自己实现的线程,调度方式遇到IO/阻塞点方式就会让出cpu时间(其实也看编译器的实现,如果TA在代码里面插入一些yield,也是可以的。 反正现在不是抢占式的。) 不能设置goroutine ID, 也拿不到(可以调用C API或者自己修改源码暴漏出来,实际上修改起来挺简 ...
分类:
其他好文 时间:
2019-01-18 12:22:44
阅读次数:
177
QuerySet API详解-defer和only: defer :在一些表中,可能存在很多的字段,但是一些字段的数据量可能是比较庞大的,而此时你又不需要,比如我们在获取文章列表的时候,文章的内容我们是不需要的,因此这时候我们就可以使用 defer 来过滤掉一些字段。这个字段跟 values 有点类 ...
匿名函数 1. 函数也是一种类型,因此可以定义作为一个函数类型的变量 2. 匿名函数即没有名字的函数 注意defer 和匿名函数的使用 闭包 一个函数和与其相关的引用环境组合组成的实体 个人认为go中的闭包和python中的闭包概念一样 都是 一个外层函数 嵌套 一个内层函数 内层函数包含对外层函数 ...
分类:
其他好文 时间:
2019-01-16 22:49:05
阅读次数:
234
1. 定义:有输入、有输出,用来执行一个指定任务的代码块 无参数和返回值的函数 有参数又返回值的函数 如何连续的一系列参数的类型是一样,前面的类型可以不写,例如: 函数调用 多返回值和可变参数 多返回值 对返回值进行命名 _标识符 返回多个值的时候 有的值不想接受就可以用_ 可变参数 defer语句 ...
分类:
其他好文 时间:
2019-01-13 11:39:52
阅读次数:
174