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("我在工作")
}
相关推荐
未秃头的程序猿1 分钟前
从零到一:深入浅出分布式锁原理与Spring Boot实战(Redis + ZooKeeper)
spring boot·分布式·后端
Soofjan2 分钟前
MySQL(3.2):索引应用与优化
后端
黑牛儿3 分钟前
PHP 8.3性能暴涨实测|对比8.2,接口响应提速30%,配置无需大幅修改
android·开发语言·后端·php
Soofjan3 分钟前
MySQL(3.1):B+ 树索引原理
后端
Cache技术分享6 分钟前
386. Java IO API - 监控目录变化
前端·后端
YanDDDeat7 分钟前
【Spring】事务注解失效与传播机制
java·后端·spring
小陈工8 分钟前
python Web开发从入门到精通(二十七)微服务架构设计原则深度解析:告别拆分烦恼,掌握治理精髓(上)
后端·python·架构
橙露9 分钟前
MySQL 分库分表基础:水平拆分与路由规则实现
后端
guygg8812 分钟前
极化码(Polar Codes)的MATLAB实现
开发语言·数据结构·matlab