模块
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!')
}
在mymodule
目录下可以有多个v源代码文件。
然后通过v -lib ~/code/modules/mymodule
命令编译模块。
然后就可以在自己的代码中使用了:
module main
import mymodule
fn main() {
mymodule.say_hi()
}
每次调用模块中的函数必须在函数前面指定模块名。这虽然有点冗长,但是代码更容易阅读和为何,我们一眼就可以看出函数是属于那个模块的。在大型代码库中这很重要。
模块名要短小,一般不要超出10个字符。而且模块也不能出现循环依赖。
所以的模块都将静态编译到单一的可执行程序中。