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("我在工作")
}
相关推荐
沸点小助手13 小时前
「国产龙虾谁能打过OpenClaw & 你敢让微信龙虾碰代码吗」沸点获奖名单公示|本周互动话题上新🎊
前端·后端·面试
QJtDK1R5a13 小时前
C# 14 中的新增功能
开发语言·c#
大黄说说13 小时前
Java 中 String 为何被设计为不可变?
开发语言
复园电子13 小时前
KVM与Hyper-V虚拟化环境:彻底解决USB外设映射掉线的底层架构优化
开发语言·架构·php
2301_8035545213 小时前
三大编程语言(Python/Go/C++)项目启动全解析
c++·python·golang
kvo7f2JTy14 小时前
JAVA 设计模式
java·开发语言·设计模式
仍然.14 小时前
多线程---阻塞队列收尾和线程池
java·开发语言·算法
lizhongxuan14 小时前
LLM Wiki:让大模型替你打理知识库的完整指南
前端·后端·面试
大尚来也14 小时前
红黑树与AVL树:平衡二叉搜索树的博弈与抉择
开发语言
老马952714 小时前
opencode2-初步体验
人工智能·后端