模块(Modules)
Vlang是一种模块化的语言,创建可重用模块是V语言中备受推荐的做法且很简单,只要需要创建一个以模块为名的文件夹,然后在该文件夹下编写.v
文件即可。
cd ~/code/modules
mkdir mymodule
vim mymodule/mymodule.v
// mymodule.v
module mymodule
// To export a function we have to use `pub`
pub fn say_hi() {
println('hello from mymodule!')
}
在Vlang中,导出模块中的函数,需要使用pub
关键字。
你可以编写多个.v
文件在mymodule/
中,编译模块也很简单,只要执行命令即可:
v -lib ~/code/modules/mymodule
使用模块中导出的函数也非常简单:
module main
import mymodule
fn main() {
mymodule.say_hi()
}
请注意,每次调用外部函数时都必须指定模块。 这看起来似乎很冗长,但它使代码更易读,更容易理解,因为它始终清楚从哪个模块调用哪个函数,特别是在大型项目的代码库中。
模块名称应简短,不超过10个字符。 循环导入是不允许的。
现在你可以在任何地方创建模块,也许这应该是标准化的(比如Go的GOPATH)。
所有模块都静态编译为单个可执行文件。