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("我在工作")
}
相关推荐
青w韵13 小时前
SpringBoot3.x 升级到 SpringBoot 4.x,JDK17升级到JDK21
java·后端·spring
vx_bisheyuange13 小时前
基于SpringBoot的经方药食服务平台
java·spring boot·后端·毕业设计
哈哈老师啊13 小时前
Springboot企业办公信息化管理系统6z1v1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
编程大师哥13 小时前
如何在C++中使用Redis的事务功能?
开发语言·c++·redis
向前V13 小时前
Flutter for OpenHarmony 二维码扫描App实战 - 关于实现
开发语言·javascript·flutter
永远是我的最爱13 小时前
基于ASP.NET的图书管理系统的设计与实现
前端·后端·sql·visual studio
钟离墨笺13 小时前
Go语言-->interfance{}赋值的陷阱
开发语言·后端·golang
逆境清醒13 小时前
Python中的常量
开发语言·python·青少年编程
aini_lovee13 小时前
基于MATLAB的DC-DC变换器设计与实现(Buck/Boost/Buck-Boost)
开发语言·matlab
奔跑吧 android13 小时前
【ubuntu24.04】【安装jdk】
java·开发语言