我正在使用 goamz 在 golang 中使用 CreateSecurityGroup func。下面是函数签名:
func (ec2 *EC2) CreateSecurityGroup(name, description string) (resp *CreateSecurityGroupResp, err error)
name
这个参数列表中的参数是什么类型的?
方法签名的功能规范允许参数使用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"})