Reputation: 949
I am using CreateSecurityGroup func in golang using goamz. Below is the function signature:
func (ec2 *EC2) CreateSecurityGroup(name, description string) (resp *CreateSecurityGroupResp, err error)
What type does the argument name
have in this argument list?
Upvotes: 2
Views: 91
Reputation: 1326706
The spec for function of method signature allows for parameters to use an IdentifierList
for one type:
ParameterDecl = [ IdentifierList ] [ "..." ] Type .
name, description
is the identifier list.string
is the type which applies to that list.You have the same feature for variable declaration:
var U, V, W float64
All three variables have the same type float64
.
Note: a more recent version of the goamz source code shows that same method with a different parameter: see commit 04a8dd3
func (ec2 *EC2) CreateSecurityGroup(group SecurityGroup)
(resp *CreateSecurityGroupResp, err error) {...
with:
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 is typical when the number of potential parameters grows: you wrap them in a struct.
It is used in this test:
resp, err :=
s.ec2.CreateSecurityGroup(ec2.SecurityGroup{Name: "websrv",
Description: "Web Servers"})
Upvotes: 3