在golang中,ec2.CreateSecurityGroup中的名称类型是什么

时间:2014-10-21 10:14:37

标签: go goamz

我使用goamz在golang中使用CreateSecurityGroup func。 以下是功能签名:

func (ec2 *EC2) CreateSecurityGroup(name, description string) (resp *CreateSecurityGroupResp, err error)

参数name在这个参数列表中有什么类型?

1 个答案:

答案 0 :(得分:3)

function of method signature的规范允许参数使用IdentifierList for one type

ParameterDecl  = [ IdentifierList ] [ "..." ] Type .
  • name, description是标识符列表。
  • string是适用于该列表的类型。

variable declaration具有相同的功能:

var U, V, W float64

所有三个变量都具有相同的类型float64


注意:较新版本的goamz源代码显示了具有不同参数的相同方法:请参阅commit 04a8dd3

func (ec2 *EC2) CreateSecurityGroup(group SecurityGroup)
  (resp *CreateSecurityGroupResp, err error) {...

使用:

type SecurityGroup struct {
    Id string `xml:"groupId"`   + Id string `xml:"groupId"`
    Name string `xml:"groupName"`   + Name string `xml:"groupName"`
    Description string `xml:"groupDescription"`
    VpcId string `xml:"vpcId"`
}

当潜在参数的数量增加时,这是典型的:将它们包装在结构中。

它用于this test

resp, err := 
  s.ec2.CreateSecurityGroup(ec2.SecurityGroup{Name: "websrv", 
                                              Description: "Web Servers"})