标签: underscores

关键字var后面的下划线和接口名称是什么意思?

来自http://golang.org/src/pkg/database/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) {....}
Run Code Online (Sandbox Code Playgroud)

我知道ValueConverter是一个接口名称.第58行似乎声明boolType实现接口ValueConverter,但这是必要的吗?我删除了第58行,代码运行良好.

syntax interface go underscores

66
推荐指数
2
解决办法
1万
查看次数

为什么单个下划线字符是lambda参数的非法名称?

我尝试命名一个lambda参数_,例如(一个减少版本):

Consumer<Object> c = _ -> {};
Run Code Online (Sandbox Code Playgroud)

因为我想表示一个参数被忽略,但我得到了以下编译器错误:

对于lambda参数禁止使用'_'作为标识符

这对我来说是一个惊喜.有趣的是,两个下划线是可以的:

Consumer<Object> c = __ -> {}; // no compile error
Run Code Online (Sandbox Code Playgroud)

因此,它不是一般的下划线字符,而是单个字符.

为什么单下划线名称是专门禁止的?

java lambda java-8 underscores

20
推荐指数
1
解决办法
3735
查看次数

何时使用python sunder名称?

在Python中,存在单个前导下划线,双前导下划线,双前导+双尾下划线和单尾随下划线的约定.其中许多内容在对象名称之前的单个和双下划线的含义中是什么?.

但单一领先+单尾跟下划线的意义或惯例是什么?我第一次看到他们在enum模块中的使用:

8.13.15.3.2.支持的_sunder_名称

  • _name_ - 会员姓名
  • _value_ - 会员价值; 可以在新的设置/修改
  • _missing_ - 未找到值时使用的查找函数; 可能会被覆盖
  • _ignore_ - 作为list()或str()的名称列表,不会转换为成员,并将从最终类中删除
  • _order_ - 在Python 2/3代码中使用以确保成员顺序一致(类属性,在类创建期间删除)
  • _generate_next_value_ - 由Functional API和auto用于获取枚举成员的适当值; 可能会被覆盖

我还没有见过这样的单龙头单结尾下划线破甲之前的名字.它们是以任何特殊方式处理,还是具有与任何其他与下划线相关的命名约定不同的隐含含义?它们与没有下划线有何不同?

python enums naming-conventions underscores

14
推荐指数
1
解决办法
550
查看次数

在Kotlin中什么意思是“ _”符号?

我试图查找信息意味着什么,但我没有。试图了解它在这段代码中的作用:

checkBox.setOnCheckedChangeListener { _, isChecked ->
            if (isChecked) {
                // The toggle is enabled
            } else {
                // The toggle is disabled
            }
        }
Run Code Online (Sandbox Code Playgroud)

android function kotlin underscores

1
推荐指数
1
解决办法
49
查看次数