Golang中的四个括号

代码如下,首先第一个括号内容为wk *worker表示这个函数是一个方法,属于结构体worker的方法,第二个括号内容为say string,是方法的参数,第三个括号内容err error是方法的返回值,第四个括号是work方法内部的匿名函数结尾处的括号内容为"匿名函数调用自己",表示用该参数调用所属的匿名方法

go 复制代码
package main

type worker struct {
	id int
}

func (wk *worker) work(say string) (err error) {
	func(s string) {
		println(s)
		println(wk.id)
		println(say)
	}("匿名函数调用自己")
	panic("worker panic..")
	return err
}

func main() {
	aWorker := worker{id: 1}
	aWorker.work("我在工作")
}
相关推荐
程序员-周李斌5 分钟前
Java 死锁
java·开发语言·后端
布列瑟农的星空14 分钟前
还在手动翻译国际化词条?AST解析+AI翻译实现一键替换
前端·后端·ai编程
武子康34 分钟前
大数据-197 K折交叉验证实战:sklearn 看均值/方差,选更稳的 KNN 超参
大数据·后端·机器学习
JasmineWr1 小时前
CompletableFuture相关问题
java·开发语言
零雲1 小时前
java面试:知道java的反射机制吗
java·开发语言·面试
Jeremy爱编码1 小时前
实现 Trie (前缀树)
开发语言·c#
码事漫谈1 小时前
C++数据竞争与无锁编程
后端
码事漫谈1 小时前
C++虚函数表与多重继承内存布局深度剖析
后端
laocooon5238578861 小时前
插入法排序 python
开发语言·python·算法
你的冰西瓜2 小时前
C++中的list容器详解
开发语言·c++·stl·list