```go package main import ( "fmt" "time"
) func main() { eur, err := time.LoadLocation("Europe/Vienna") if err != nil { panic(err) } t := time.Date(20... ...
分类:
其他好文 时间:
2018-03-22 01:38:42
阅读次数:
182
```go
package main import ( "fmt" "os" "path/filepath"
) func main() { ex, err := os.Executable() if err != nil { panic(err) } // Path to executable f... ...
分类:
其他好文 时间:
2018-03-17 23:25:44
阅读次数:
219
```go
package main import "fmt" func main() { // Create a slice with a length of 5 elements. slice := make([]string, 5) slice[0] = "Apple" slice[1] = ... ...
分类:
其他好文 时间:
2018-03-16 21:35:50
阅读次数:
233
前言 大家都知道go语言的defer功能很强大,对于资源管理非常方便,但是如果没用好,也会有陷阱哦。Go 语言中延迟函数 defer 充当着 try...catch 的重任,使用起来也非常简便,然而在实际应用中,很多 gopher 并没有真正搞明白 defer、return、返回值、panic 之间 ...
分类:
其他好文 时间:
2018-03-15 00:30:52
阅读次数:
201
题目: 输入数字n,按顺序打印出从1到最大的n位十进制数。比方输入3,则打印出1,2,3一直到最大的3位数即999。 解决问题须要表达一大数。最经常使用也是最easy的方法是用字符串或者数组表达大数。 在字符串上模拟数字加法的解法 Increment代码例如以下: bool Increment(ch ...
分类:
其他好文 时间:
2018-03-03 16:52:56
阅读次数:
158
在做进程安全监控的时候,拍脑袋决定的,如果发现一个进程在D状态时,即TASK_UNINTERRUPTIBLE(不可中断的睡眠状态),时间超过了8min,就将系统panic掉。恰好DB组做日志时,将整个log缓存到内存中,最后刷磁盘,结果系统就D状态了很长时间,自然panic了,中间涉及到Linux的 ...
分类:
其他好文 时间:
2018-02-22 19:21:08
阅读次数:
200
一、前言 每一个Linux驱动工程师都知道这样一个准则:在中断上下文中不能睡眠。但是为什么interrupt context中不能调用导致睡眠的kernel API呢?如果驱动这么做会导致什么样的后果呢?这就是本文探讨的主题。为了理解这个主题,我们设计了一些非常简单的驱动程序和用户空间的程序,实际做 ...
分类:
其他好文 时间:
2018-02-21 22:18:21
阅读次数:
216
panic 关键字panic的作用是制造一次宕机,宕机就代表程序运行终止,但是已经“生效”的延迟函数仍会执行(即已经压入栈的defer延迟函数,panic之前的)。 为什么要制造宕机呢?是因为宕机不容易遇到?还是因为程序有错就是直接报错,都没有执行,哪来的宕机? Go程序设计语言中这样提到:如果碰到 ...
分类:
其他好文 时间:
2018-01-31 22:17:45
阅读次数:
204
panic发生时, 会导致进程挂掉。为了处理panic, 可以使用recover捕获,然后处理。 下面以下标引用越界问题为例进行说明。 正常情况下,代码中如果出现下标越界,会直接触发panic, 导致进程挂掉。 例如下面的例子: output: start... panic: runtime err ...
分类:
其他好文 时间:
2018-01-27 13:45:32
阅读次数:
260