关键字var后面的下划线和接口名称是什么意思?
来自/sql/driver/types.go : type ValueConverter interface { // ConvertValue converts a value to a driver Value. ConvertValue(v interface{}) (Value, error) } var Bool boolType type boolType struct{} var _ ValueConverter = boolType{} // line 58 func (boolType) String() string { return "Bool" } func (boolType) ConvertValue(src interface{}) (Value, error) {....} 我知道ValueConverter是接口名称.第58行似乎声明了Booltype实施接口ValueConverter,但这是必要的吗?我删除了第58
22 2023-10-13
编程技术问答社区
为什么单个下划线字符是lambda参数的非法名称?
我尝试命名lambda参数_,例如(削减版本): Consumer c = _ -> {}; 我想表示一个参数被忽略,但是我有以下编译器错误: 禁止使用" _"作为标识符. 这对我来说是一个惊喜.有趣的是,两个下划线是可以的: Consumer c = __ -> {}; // no compile error 所以通常不是下划线的角色,而是一个. 为什么单次计数名称专门禁止? 解决方案 原因是在 我们正在从标识符的空间中"回收"" _"的句法房地产,以在未来的语言功能中使用.但是,由于现有程序可能会使用它,因此它是对现有句法位置中发生在8的标识符的警告,而Lambda Formals的错误(因为Lambdas没有现有代码.) .
24 2023-02-26
编程技术问答社区
Python "私有 "名称的混用和实例与类的属性
我正在编写一个需要访问私有变量的装饰员,并找到了这种差异.任何人都可以解释这个吗? (python 2.5) 命名Mangling在类中定义的属性的预期工作: >>> class Tester(object): ... __foo = "hi" >>> t = Tester() >>> t._Tester__foo 'hi' 实例属性不起作用(这是我们应该正确执行的方式?) >>> class Tester(object): ... def __init__(self): ... self.__foo = "hi" >>> t = Tester() >>> t._Tester__foo AttributeError: 'Tester' object has no attribute '_Tester__foo' p.s.是"class属性"的正确词?它们不是静态的,但如果你制作其中一个列表或一些其他可变的类型,它是共享的.
230 2022-07-19
编程技术问答社区
下划线功能
我在这里查看一些 C 源代码,我发现了这个: fprintf(stderr, _("Try `%s --help' for more information.\n"), command); 我在查看 wxWidget 时已经看到了下划线,我读到它是用于国际化的.我发现它真的很可怕(有史以来最不直观的名字),但我认为这只是另一个奇怪的 wxWidget 约定. 现在我在一些 Alsa 资源中再次找到它.有谁知道它来自哪里? 解决方案 它来自 GNU gettext,一个旨在简化国际化过程的包._() 函数只是一个字符串包装器.这个函数基本上在运行时用系统语言的翻译替换给定的字符串,如果可用的话(即,如果他们为程序提供了该语言的 .mo 文件).
314 2022-07-19
编程技术问答社区
golang中关键字var后面的下划线和接口名称是什么意思?
http://golang.org/src/pkg/database/sql/driver/types.go 30 type ValueConverter interface { 31 // ConvertValue converts a value to a driver Value. 32 ConvertValue(v interface{}) (Value, error) 33 } 54 var Bool boolType 55 56 type boolType struct{} 57 58 var _ ValueConverter = boolType{} 59 60 func (boolType) String() string { return "Bool" } 61 62 func (boolType) ConvertValue(src interface{}) (Value, error) {....} 如上,我知
1720 2022-07-19
编程技术问答社区
Django。用于定义选择字段的图元列表中的下划线的含义是什么?
我见过一些这样定义选择字段的示例: COUNTRIES = ( ('fr', _('France')), ('de', _('Germany')), ... ) (来源:http://code.djangoproject.com/ticket/5446另请参阅:http://djangosnippets.org/snippets/494/) 前导下划线是什么意思?为什么元组中的第二个值还要加上括号? 解决方案 前导下划线是国际化 (i18n) 机制使用的 ugettext 函数之一的常用函数别名. 这意味着当您运行 i18n 时,选择字段标签将被翻译成适当的最终用户语言(如果有翻译可用). 在具有这种语法的文件的顶部,您应该看到(或者如果没有,您应该看到)如下内容: from django.utils.translation import ugettext_lazy as _ 查看此处的文档了解更多详情
190 2022-07-19
编程技术问答社区