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("我在工作")
}
相关推荐
RoyLin8 小时前
Rust 编写的 40MB 大小 MicroVM 运行时,完美替代 Docker 作为 AI Agent Sandbox
后端·架构·rust
编程小风筝9 小时前
编写java代码如何写文档注释?
java·开发语言
lly2024069 小时前
HTML 媒体(Media)
开发语言
一个处女座的程序猿O(∩_∩)O9 小时前
Python函数参数*args和**kwargs完全指南:从入门到精通
开发语言·python
与衫9 小时前
如何将SQLFlow工具产生的血缘导入到Datahub平台中
java·开发语言·数据库
m0_531237179 小时前
C语言-分支与循环语句练习
c语言·开发语言
Never_Satisfied9 小时前
在JavaScript / HTML中,在html的元素中寻找第X个某元素
开发语言·javascript·html
好家伙VCC9 小时前
**发散创新:编译器优化实战——从LLVM IR到性能飞跃的奇妙旅程**
java·开发语言·python·算法
游乐码9 小时前
c#成员属性
开发语言·c#
Anastasiozzzz9 小时前
如何理解AOP?带你写一个!
java·开发语言