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("我在工作")
}
相关推荐
坤坤子吖2 小时前
Python基础语法学习:函数
开发语言·笔记·python·学习
言乐62 小时前
Python体现逻辑回归和决策树的区别
开发语言·python·算法·决策树·逻辑回归
LOVE️YOU2 小时前
Python 类与对象的核心逻辑:从 self、cls 到点号、括号与链式调用
开发语言·python
顶点多余2 小时前
C/C++常见面试题
开发语言·c++
(Charon)2 小时前
【C++面试】右值引用与移动语义:std::move到底做了什么
开发语言·c++
TheITSea2 小时前
JavaScript Web APIs
开发语言·前端·javascript
空心木偶☜3 小时前
A2A2A(多智能体协作)
开发语言·python·ai·ai编程
Cc.Y3 小时前
Java零基础入门:类与对象深度掌握 —— 从“零散变量“到“打包管理“
java·开发语言·python
\光辉岁月/3 小时前
2.java变量
java·开发语言·变量
专业程序开发源3 小时前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计