在goLang,谁理解* var.Type

时间:2014-05-15 13:58:11

标签: go

 11 func Map(value string) *list.List {
 12 }

例如如上所述。 "列表"是var name,List是goLang内置类型。 我怎么理解* list.List?

它是带有名称列表的列表指针吗?

另外,如果我的理解是正确的,那么此列表中元素的类型是什么?它没有定义。

谢谢,

1 个答案:

答案 0 :(得分:3)

  

The Go Programming Language Specification

     

Function types

     

函数类型表示具有相同功能的所有函数的集合   参数和结果类型。未初始化变量的值   函数类型为nil。

FunctionType   = "func" Signature .
Signature      = Parameters [ Result ] .
Result         = Parameters | Type .
Parameters     = "(" [ ParameterList [ "," ] ] ")" .
ParameterList  = ParameterDecl { "," ParameterDecl } .
ParameterDecl  = [ IdentifierList ] [ "..." ] Type .
     

在参数或结果列表中,名称(IdentifierList)   必须全部存在或全部缺席。如果存在,每个名称   代表指定类型的一个项目(参数或结果)和   签名中的所有非空白名称必须是唯一的。如果缺席,每个   type代表该类型的一个项目。参数和结果列表是   总是括号,除非有一个未命名的   结果它可能被写成一个未加密码的类型。


  

Package list

import "container/list"
     

包列表实现了一个双向链表。

     

type Element

type Element struct {

        // The value stored with this element.
        Value interface{}
        // contains filtered or unexported fields
}
     

元素是链表的元素。

     

type List

type List struct {
        // contains filtered or unexported fields
}
     

列表代表双向链表。 List的零值是   空列表随时可以使用。


list是包名称。结果类型*list.List是指向类型list.List的指针。类型list.List的元素属于list.Element类型。例如,

package main

import "container/list"

func Map(value string) *list.List { return nil }

func main() {}