×
V语言 简介V语言 Hello WorldV语言 注释V语言 函数V语言 变量V语言 基本类型V语言 字符串(Strings)V语言 数组(Arrays)V语言 MapsV语言 IfV语言 For循环V语言 SwitchV语言 结构体(Structs)V语言 方法(Methods)V语言 可变接收器及纯函数V语言 常量(Constants)V语言 模块(Modules)V语言 接口(Interfaces)V语言 枚举(Enums)V语言 可选类型(Option types)V语言 泛型(Generics)V语言 并发(Concurrency)V语言 JSON解析V语言 测试(Testing)V语言 内存管理V语言 有限的运算符重载V语言 热更新V语言 调用C函数示例V语言 转换C/C++代码到V语言V语言 交叉编译V语言 关键词

V语言 模块(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)。

所有模块都静态编译为单个可执行文件。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)