Go-31-杂序

标识符:

在go语言里,标识符要么从包里公开,要么不从包里公开。

当代码导入一个包时,程序可以直接访问这个包中任意一个公开的标识符。这些标识符以大写字母开头。以小写字母开头的标识符是不公开的,不能被其他包中的代码直接访问的。

运算符与var关键字

:= 和var 关键字没有任何的区别

  • 如果声明初始化值为零值的变量,应该使用var关键字声明变量;
  • 如果提供准确的非零值初始化变量或者使用函数返回值创建变量,使用简化变量声明运算符。

map 是否包含某个值

// 第一种方式
key, exists := map[type]
    if !exists {
    key = map["default"]
}

// 第二种方式
key:= map[type]

方法的声明与调用

// 方法声明为使用matcher类型的值作为接收者
func (n matcher)Search(feed * Feed, searchTerm string){
    return nil,nil      
}
// 声明一个指向macher类型的指针
ma:=  new(macher)

//编译器会解开ma的指针引用,使用对应的值调用方法
ma.Search(feed,"test")

// 方法声明为使用指向matcher类型的指针作为接收者
func (n *matcher)Search(feed * Feed, searchTerm string){
    return nil,nil      
}
// 声明一个指向macher类型的指针
var ma macher

//编译器会自动生成指针引用ma的值,使用对应的值调用方法
ma.Search(feed,"test")
原文地址:https://www.cnblogs.com/shix0909/p/13112151.html