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("我在工作")
}
相关推荐
名字还没想好☜16 分钟前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
锋行天下22 分钟前
打造企业内部知识库系统RAG全栈项目
前端·后端·架构
皓月斯语24 分钟前
【C++基础】三目运算符
开发语言·数据结构·c++
初願致夕霞1 小时前
C++懒汉单例设计详解
服务器·开发语言·c++
脱胎换骨-军哥1 小时前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
码事漫谈1 小时前
Kimi K3 真实体验:全网评价整理,优缺点一次性说清楚
后端
Fanta丶1 小时前
16.Activiti8 SpringBoot3.X 部署与测试
后端
用户208046804561 小时前
Python3 数据类型转换新手实战指南
后端
苏三说技术2 小时前
为什么Spring要“抛弃”Feign?
后端
神奇小汤圆2 小时前
Java代理模式深度解析:静态代理 vs 动态代理 vs CGLIB
后端