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("我在工作")
}
相关推荐
VX:Fegn08954 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
喜欢吃燃面4 小时前
Linux:环境变量
linux·开发语言·学习
徐徐同学4 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
LawrenceLan4 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
m0_748229994 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
qq_192779875 小时前
C++模块化编程指南
开发语言·c++·算法
代码村新手5 小时前
C++-String
开发语言·c++
qq_401700415 小时前
Qt 中文乱码的根源:QString::fromLocal8Bit 和 fromUtf8 区别在哪?
开发语言·qt
EndingCoder6 小时前
案例研究:从 JavaScript 迁移到 TypeScript
开发语言·前端·javascript·性能优化·typescript