草庐IT

self-assignment

全部标签

go - 在 Go 中命名接收器变量 'self' 是误导还是好的做法?

我在Go上看过大量的博客和视频,据我所知,在编写方法时,没有一个作者使用'self'或'this'作为接收器变量。然而,似乎有很多关于堆栈溢出的问题会这样做,这让我开始思考这是否会误导将变量命名为“self”?阅读MethodSets的规范不以任何方式提供任何证据(在我的解释中)。我似乎记得在某个地方发现它不是真正的自我指针,任何人都可以列出证据或以任何方式提供推理,如果将其视为“自我”可能会出现任何问题/陷阱?一个简单的例子:typeMyStructstruct{Namestring}哪种方法更合适,或两者兼而有之?func(m*MyStruct)MyMethod()error{//

go - 为什么在将结构值设置为映射中的值时会出现 "cannot assign"错误?

这个问题在这里已经有了答案:Accessingstructfieldsinsideamapvalue(withoutcopying)(2个回答)关闭7年前。新手。遇到此错误,但未能找到原因或原因:如果我创建一个结构,我显然可以分配和重新分配值没有问题:typePersonstruct{namestringageint}funcmain(){x:=Person{"AndyCapp",98}x.age=99fmt.Printf("age:%d\n",x.age)}但如果结构是映射中的一个值:typePersonstruct{namestringageint}typePeoplemap[st

python - NameError: 名称 'self' 未定义

这个问题在这里已经有了答案:Howtopassadefaultargumentvalueofaninstancemembertoamethod?(6个回答)关闭2个月前。为什么会有这样的结构classA:def__init__(self,a):self.a=adefp(self,b=self.a):printb报错NameError:name'self'isnotdefined? 最佳答案 默认参数值在函数定义时评估,但self是仅在函数调用时可用的参数。因此参数列表中的参数不能相互引用。将参数默认为None并在代码中添加测试是一种

python - 类型错误 : Missing 1 required positional argument: 'self'

我无法克服错误:Traceback(mostrecentcalllast):File"C:\Users\Dom\Desktop\test\test.py",line7,inp=Pump.getPumps()TypeError:getPumps()missing1requiredpositionalargument:'self'我检查了几个教程,但似乎与我的代码没有什么不同。我唯一能想到的是Python3.3需要不同的语法。classPump:def__init__(self):print("init")#neverprintsdefgetPumps(self):#Opendatabas

Linux bash : Multiple variable assignment

在linuxbash中是否存在类似于PHP中以下代码的内容:list($var1,$var2,$var3)=function_that_returns_a_three_element_array();即您在一句话中为3个不同的变量分配了相应的值。假设我有bash函数myBashFuntion将字符串“qwertasdfgzxcvb”写入标准输出。是否可以做类似的事情:(var1var2var3)=(`myBashFuntionparam1param2`)等号左边的部分当然不是有效的语法。我只是想解释一下我的要求。但是,以下是有效的:array=(`myBashFuntionparam1

python - 如何避免 __init__ 中的 "self.x = x; self.y = y; self.z = z"模式?

我看到类似的模式def__init__(self,x,y,z):...self.x=xself.y=yself.z=z...非常频繁,通常带有更多参数。有没有避免这种乏味重复的好方法?类是否应该从namedtuple继承? 最佳答案 免责声明:似乎有几个人关心提出这个解决方案,所以我将提供一个非常明确的免责声明。您不应使用此解决方案。我仅将其作为信息提供,因此您知道该语言可以做到这一点。剩下的答案只是展示语言能力,而不是支持以这种方式使用它们。将参数显式复制到属性中并没有什么问题。如果ctor中有太多参数,有时会被认为是代码异味,也

python - 为什么需要在 Python 方法中显式使用 "self"参数?

这个问题在这里已经有了答案:Whatisthepurposeofthe`self`parameter?Whyisitneeded?(26个回答)关闭2个月前。在Python中为类定义方法时,它看起来像这样:classMyClass(object):def__init__(self,x,y):self.x=xself.y=y但在某些其他语言中,例如C#,您可以使用“this”关键字引用方法绑定(bind)到的对象,而无需在方法原型(prototype)中将其声明为参数。这是Python中有意的语言设计决定,还是有一些实现细节需要将“self”作为参数传递? 最

php - Codeigniter : Why assign it to a variable? 中的 get_instance()

在Codeigniter中,get_instance()是一个全局可用的函数,它返回包含所有当前加载的类的Controller超对象(它返回Controller类实例)。我将包含当前的源代码:get_instance()在Codeigniter.php中定义//LoadthebasecontrollerclassrequireBASEPATH.'core/Controller.php';function&get_instance(){returnCI_Controller::get_instance();}还有CI_Controller在Controller.php中定义classCI

php - curl 错误 60,SSL 证书问题 : self signed certificate in certificate chain

我尝试使用正确的APP_ID、APP_SECRET等发送curl请求到https://oauth.vk.com/access_token?client_id=APP_ID&client_secret=APP_SECRET&code=7a6fa4dff77a228eeda56603b8f53806c883f011c40b72630bb50df056f6479e52a&redirect_uri=REDIRECT_URI我需要从中获取access_token,但得到一个FALSE并且curl_error()否则打印下一条消息:60:SSLcertificateproblem:selfsign

PHP 7 接口(interface),返回类型提示和 self

更新:现在是PHP7.4doessupportcovarianceandcontravariance它解决了这个问题中提出的主要问题。我在PHP7中使用返回类型提示时遇到了一些问题。我的理解是提示:self意味着您打算让实现类返回自身。因此,我在我的接口(interface)中使用:self来表明这一点,但是当我尝试实际实现接口(interface)时,我遇到了兼容性错误。以下是我遇到的问题的简单演示:interfaceiFoo{publicfunctionbar(string$baz):self;}classFooimplementsiFoo{publicfunctionbar(st