golang struct调用方法问题
无    2014-09-22 19:13:21    1159    1    0
life
package main

import (
	"fmt"
)

type A struct {
	C int
}

func (this *A) F() {
	// this.C = 10
	fmt.Println("from a.F()")
}

func (this *A) F2() {
	// fmt.Println(this.C)
}

var a *A // a == nil
func main() {
	a.F() // 输出from a.F()
}

a.F()竟然不报错, a == nil啊

但是如果这样再调用 a.F()就会报空指针问题, 因为传到F()里面的this是nil, 不能引用C

func (this *A) F() {
	this.C = 10
	fmt.Println("from a.F()")
}

这是个坑

为什么leanote的service可以不实例化? 因为leanote的service没有属性!!

上一篇: golang exec 执行系统命令

下一篇: golange 模板

1159 人读过