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("我在工作")
}
相关推荐
xrandzj13 小时前
Python面向对象编程入门:类、实例、初始化与封装实践
开发语言·python
DLYSB_14 小时前
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级
开发语言·后端·golang·报警灯
markinmarkin15 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
橙子家15 小时前
使用方法 ToDictionary() 来优化查询时间复杂度:O(N*M) -> O(1*M)【C# 基础】
后端
雨田言炎16 小时前
四、关于Qt项目需要知道的
开发语言·笔记·qt
IT_陈寒16 小时前
我又被JavaScript的隐式类型转换坑了
前端·人工智能·后端
用户83562907805116 小时前
Python Word 转 PDF 和 PDF 转 Word 指南
后端·python
用户83562907805116 小时前
如何使用 Python 加密和保护 Word 文档
后端·python
程序喵大人17 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法
他们叫我秃子17 小时前
前端开发转 Go 全栈(五):终于遇到熟人了,Go 的闭包和高阶函数原来这么像 JavaScript
前端·后端·go