V 语言是否允许扩展基类型?

Does the V language allow to extend base types?

在 V 语言中,方法是与数据结构分开定义的。

V 语言是否允许在基本类型上定义方法,例如 Array

是否可以像

那样编写my_method方法
fn (array Array) my_method() { ... }

list := ["a", "b"]
list.my_method()

只有在您自己的模块中,您才能控制实现 - 我认为没有任何支持它的计划。

当泛型或结构嵌入完全完成时,您可能会做类似的事情。但我怀疑 builtin 模块类型是否会支持它。

编辑: (将来也可能对 Sum 类型做一些事情)

除非类型和方法都在同一个模块中定义,否则不能在类型上定义方法。但是,如果方法和自定义类型都在同一模块中,则可以在自定义类型的数组上定义方法。例如:

struct St
{
    i int
}

fn (s []St) array_method() {
    println(s[0])
    println(s[1])
}

arr := [St{3}, St{4}]
arr.array_method()