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("我在工作")
}
相关推荐
Wonderful U1 分钟前
基于Python+Django的智能在线考试系统:从题库管理到自动阅卷的全流程实战
开发语言·python·django
SimonKing3 分钟前
你还在靠重启来调线程池?别人已经做到了实时调控,3分钟接入
java·后端·程序员
无忧.芙桃5 分钟前
数据结构之单链表
c语言·开发语言·数据结构
SilentSamsara5 分钟前
Python 服务的 K8s 部署:HPA/ConfigMap/Secret 完整配置
开发语言·python·青少年编程·容器·kubernetes
小张小张爱学习5 分钟前
Java并发编程面试题
java·开发语言
码不停蹄的玄黓9 分钟前
JDK 自带四大命令行工具:jstat、jstack、jmap、jhat 详解
java·开发语言
ch.ju11 分钟前
Java程序设计(第3版)第四章——set方法为属性赋值
java·开发语言
创业之路&下一个五年11 分钟前
JS编程范式 \& 面向对象范式
开发语言·前端·javascript
代码中介商14 分钟前
C++11移动语义:右值引用与高效资源转移
开发语言·c++
IT_陈寒18 分钟前
Redis客户端连接池不关闭的后果,程序直接崩给我看
前端·人工智能·后端