LiteIDE 开发工具指南 (Go语言开发工具)(6)

类型所做的第二件事:在你用类型声明变量时构造对应类型的变量。如:

var i int

var p point

但对于slice(片)、map和channel来说他们必须使用make函数创建对应类型的值。

var m = make( map[string]int)

make函数是Go语言支持的两个分配函数中的一个,另一个是new函数。make函数创建了一个指定类型的值,并把该值得指针返回给变量。在大多数地方,Go中的指针与C中的指针使用方法类似。

你可以使用*引用一个指针的值,也可以用&获取值得地址。但是,Go和C的指针也存在差异,这种区别在于Go语言不存在指针计算。在Go语言中,指针存在的意义是让你可以用引用的方式在函数之间传递参数。

如果你有一个类型T,那么*T就是一个指向类型T的指针。

举一个new函数的例子:

var add= new(int)

在这里,new函数创建了一个整型变量并放回了它的地址存放在add中。变量add的类型为*int。

如果你写出如下语句

fmt.Print(add)

那么你将得到这个整型值得地址。那么,为了打印这个整型变量的值,我们需要这样书写打印语句:

fmt.Print(*add)

就像之前提到过的那样,你可以直接使用类型的值而无需给这个类型命名:

var p struct {
x, y int
}

如果你不需要重用这个类型,那么这样做也是可以的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fc20054b36664376d47aace3fd388faa.html