2

我正在使用 goamz 在 golang 中使用 CreateSecurityGroup func。下面是函数签名:

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

name这个参数列表中的参数是什么类型的?

4

1 回答 1

3

方法签名的功能规范允许参数使用IdentifierList一种类型

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

变量声明具有相同的功能:

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"`
}

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

它用于此测试

resp, err := 
  s.ec2.CreateSecurityGroup(ec2.SecurityGroup{Name: "websrv", 
                                              Description: "Web Servers"})
于 2014-10-21T10:41:35.880 回答