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("我在工作")
}
相关推荐
我不是懒洋洋7 分钟前
【C++】内存管理与模板(C++内存管理方式、new和delete的实现原理、malloc/free和new/delete的区别、函数模板、类模板)
c语言·开发语言·c++·青少年编程·visual studio
Tenifs8 分钟前
深入对比分析 RabbitMQ、RocketMQ 和 Kafka
后端·kafka·消息队列·rabbitmq·rocketmq·爱编程的阿彬
雪的季节8 分钟前
Qt多窗口架构设计需求简介
开发语言·qt
z2005093013 分钟前
【linux学习】深入理解 Linux 下的静态库与动态库
开发语言·c++·算法
AutumnWind042013 分钟前
【JDK动态代理源码梳理】
java·后端·spring
AI进阶客栈13 分钟前
开源 MQ Master:Spring Boot 统一管控 5 大消息队列
spring boot·后端·开源
韦胖漫谈IT14 分钟前
面向对象 vs 函数式背后的思维差异
开发语言
Xin_ye1008617 分钟前
C# 零基础到精通教程 - WPF 深度专题:3D 图形与视觉增强
开发语言·c#·wpf
勇哥java实战分享21 分钟前
AI 降低了『写代码』的门槛,但是没有降低『软件开发』的复杂度
后端
zhangfeng11331 小时前
台大李宏毅老师讲解memba和类似linear atttenion 模型,笔记
开发语言·人工智能·笔记