在过去的几天里,我一直试图通过观看gopher的一些视频来加快golang的速度。我很难弄清楚函数声明和返回。我已经读过这 https://www.tutorialspoint.com/go/go_functions.htm这似乎很简单,但是下面的这个例子让我感到困惑。例如在毒刺 https://blog.golang.org/generatetype Pill intconst (
Placebo Pill = iota
Aspirin
Ibuprofen
Paracetamol
Acetaminophen = Paracetamol
)func (p Pill) String() string我可以看到,在func中,输入参数是Pill类型的p,然后是String()和字符串?我假设的函数名称是字符串,但为什么输出类型字符串在那之后?或func TestNirmalize(t *testing.T)或func(th *timeHandler)ServeHTTP(w http.ResponseWriter, r*http.Request{
1 回答
森林海
TA贡献2011条经验 获得超2个赞
p
不是输入参数。参数和类型位于函数签名之前的语法意味着该类型具有与其关联的方法集。实际的函数签名是不带任何参数的。此声明意味着不带参数并返回 a 的函数可以在 上调用 ,如下所示:Pill
String()
String()
string
type Pill int
Pill p fmt.Println(p.String())
至于其他函数签名,请注意,指定返回值或方法类型是可选的,因此两个示例都不返回任何内容(即 其他语言)。void
这将接受指向类型的指针,并且不返回任何内容:testing.T
func TestNirmalize(t *testing.T)
我假设你的问题中缺少一个。此方法类似地在类型上定义,接受类型,不返回任何内容。)
timeHandler
http.ResponseWriter
*http.Request
func(th *timeHandler)ServeHTTP(w http.ResponseWriter, r*http.Request)
- 1 回答
- 0 关注
- 65 浏览
添加回答
举报
0/150
提交
取消