- 浏览: 27591 次
- 性别:
- 来自: 上海
最新评论
文章列表
golang获取调用者的方法名及所在源码行数
- 博客分类:
- go
log4j用多了,最近在用go写东东,log package又封装的很简陋
随即打算山寨个log4go
大体架构好说(- -!山寨嘛,哈哈)
就是不太清楚怎么获取调用log.Debug的函数名和代码所在的行数
研究了一下,直接贴代码吧,呵呵
package main
import "runtime"
import "log"
func main() {
test()
}
func test() {
test2()
}
func test2(){
pc,file,l ...
其实effectiv go里面说的很清楚了
http://weekly.golang.org/doc/effective_go.html#pointers_vs_values
我这里写了个例子,还是不明白的话,我在详细解释下
package main
import "log"
type PointerMethodInvoke struct{
Foo string
}
func (this *PointerMethodInvoke) ChangeFoo(foo string){
this.Foo = foo
...
go没有继承,但有个Embedding,这个东西有点类似于组合,写了个小例子,实现多态的效果
package main
import "fmt"
type IMessage interface{
Print()
}
type BaseMessage struct{
msg string
}
func (message *BaseMessage) Print(){
fmt.Println("baseMessage:msg",message.msg)
}
type SubMessage str ...