关于go的赋值,必须要说一两句:main函数体外,或者函数体外的声明变量,类似类成员变量(重点)。
下面是经验之谈,和示例代码
在go的文件内,其实按照的就是整体的类文件来设计的。
比如在 java中 对类成员变量赋值(对象状态)
1. public String name; //可以2. public String name = “marx”; //可以
3. public String name;
name = "marx"//真的不可以
其实原则上讲,我接触的中主要就php和java,两者都是这样的构造。可以直接赋初值,但不允许在声明后,再进行赋值。
但是go的整体流程,给我一种面向过程的编程风格。
下意识的就
var lib *mlib.Manager
然后另起一行
lib = NewManager()
结果报错了。
正常的写法应该为:var lib *mlib.Manager = NewManager() 或者 lib := NewManager() 在我这里的这行代码,不推荐后者,因为我是在main函数体外声明的变量,太过简洁,不利于阅读代码。
而赋值的动作,就可以根据需求,直接赋初值,或者在go中的main函数体内进行赋值