以php的方式认识go
package main
// 为fmt定义别名
import mm "fmt"
// 定义一个对象 (有a和b成员)
type Mutatable struct {
a int
b int
}
// 为对象Mutatable添加一个StayTheSame方法
func (m Mutatable) StayTheSame() {
m.a = 5
m.b = 7
}
// 为对象Mutatable添加一个Mutate方法,且引用原来的对象(使用*号引用)在此函数内修改函数成员会作用到调用者身上
func (m *Mutatable) Mutate() {
m.a = 5
m.b = 7
}
// 程序运行入口(在init函数运行后执行)
func main() {
// 实例化一个Mutatable对象(&用处未知)?
m := &Mutatable{0, 0}
// 另一种实例化对象方式(和上一种的区别)?
// m := new(Mutatable)
// 打印m对象
mm.Println(m)
// 调用StayTheSame方法
m.StayTheSame()
mm.Println(m)
m.Mutate()
mm.Println(m)
}
// 初始化函数(在此使用Println打印时数字正常.字符串报错[定义变量,直接打印都会])?
func init() {
mm.Println(1235464)
}
又遇到了三个问题谁能解释一下?
我来说说我的理解:
go是全新的语言 是c语言和java语言的进阶版 和精简版. 用php的思想来思考,就是牛头不对马嘴。