• 模块

    模块

    V是一个模块化的语言。它鼓励创建可复用的模块,而且创建模块也很简单。要创建模块需要先创建一个同名的目录,然后里面包含.v后缀名的文件:

    1. cd ~/code/modules
    2. mkdir mymodule
    3. vim mymodule/mymodule.v
    1. // mymodule.v
    2. module mymodule
    3. // To export a function we have to use `pub`
    4. pub fn say_hi() {
    5. println('hello from mymodule!')
    6. }

    mymodule目录下可以有多个v源代码文件。

    然后通过v -lib ~/code/modules/mymodule命令编译模块。

    然后就可以在自己的代码中使用了:

    1. module main
    2. import mymodule
    3. fn main() {
    4. mymodule.say_hi()
    5. }

    每次调用模块中的函数必须在函数前面指定模块名。这虽然有点冗长,但是代码更容易阅读和为何,我们一眼就可以看出函数是属于那个模块的。在大型代码库中这很重要。

    模块名要短小,一般不要超出10个字符。而且模块也不能出现循环依赖。

    所以的模块都将静态编译到单一的可执行程序中。