下面的 buf
变量,在函数调用中作为形参被拷贝给 out
接口变量,此时 out
的动态类型是*bytes.Buffer
,动态值为 nil, 再去执行 Write 方法会引发 panic 异常
但如果 buf
改成 os.File
指针类型,由于 File
类型的Write
方法内部对接收者做了判空处理,所以不会引发 panic 异常
是出于什么原因要这么设计,如果没有仔细看源码,感觉很容易掉进坑里
1
rrfeng 2020-06-06 18:21:18 +08:00 via Android
啥坑?没太懂
|
2
raaaaaar 2020-06-06 18:22:11 +08:00 via Android
给个代码啊,你这样说不容易看懂
|