vlang
  • 目录
    • V语言学习笔记
    • 目录
    • 安装
    • 开发工具
    • 快速总览
    • 模块
    • 基本类型
    • 变量
    • 常量
    • 枚举
    • 数组
    • 字典
    • 流程控制
    • 函数
    • 结构体
    • 访问控制
    • 方法
    • 注解
    • 接口
    • 泛型
    • 类型别名
    • 联合类型
    • 联合体
    • 错误处理
    • 运算符重载
    • 内置json支持
    • 内置sql支持
    • 并发
    • 内存管理
    • 代码测试
    • 文档生成
    • 编译时代码
    • 包管理器
    • 单个V文件
    • V shell script
    • 不安全代码
    • 集成C代码库
    • 集成汇编代码
    • 裸机环境
    • 生成wasm
    • GUI开发
    • web开发
    • 数据库开发
  • builtin
  • strings
  • arrays
  • maps
  • datatypes
  • strconv
  • os
  • runtime
  • time
  • math
  • json
  • encoding
  • compress
  • toml
  • flag
  • term
  • log
  • io
  • readline
  • reflection
  • net
  • net.http
  • eventbus
  • regex
  • crypto
  • rand
  • sync
  • x
  • db.pg
  • db.mysql
  • db.mssql
  • db.sqlite
  • orm
  • ui
  • sokol
  • gg
  • gx
  • fontstash
  • stbi
  • clipboard
  • V抽象语法树
  • V语言服务
  • V编译器源代码
  • 生成C代码
  • 生成js代码
  • 生成go代码
  • 生成native代码
  • 解释器直接运行
  • 附录1 关键字
  • 附录2 运算符
  • 附录3 编码风格
  • 附录4 V编译器命令行使用
  • 附录5 V调试及错误定位
  • 附录6 V和Go基本语法参照
  • 附录7 V和Zig基本语法参照
由 GitBook 提供支持
在本页
  • 前言
  • 为什么喜欢V
  • 目标
  • 官方吉祥物
  • github关注度
  • 一起完善

这有帮助吗?

  1. 目录

V语言学习笔记

下一页目录

最后更新于2年前

这有帮助吗?

利用业余时间体验了V语言。边看,边动手,边记录,所以有了这个V语言学习笔记。

前言

V语言是一门新发布的静态类型语言,由发起,开源时间为2019年6月22日。目前star数已有3万多,贡献者已有5百多人,快速迭代开发中。

目前语言的稳定性和成熟度肯定还需要时间完善,不能期望太高。不过作者还是实现了很多不错的语言特性。也很佩服他有勇气,有能力,又开发了一门新语言,并且很努力地全职开发,快速更新。

V语言算是很有潜力的一门新语言,感觉V语言才是 "better C"。

喜欢的人不妨抽点时间跟进一下,一起跟着V语言成长,下面V语言的一些资源链接:

V语言官网:

V语言代码库:

V语言社区discord:

V语言学习笔记:

V语言学习笔记-gitbook阅读地址:

为什么喜欢V

对一门编程语言的使用者来说,语言的"界面"就是语法设计和命令行设计,这两个方面都是在语言设计之初就定型下来,决定了一门语言的"感觉",以后再也难以改变,而实现则是可以不断重构,优化。

V在语法设计和命令行设计这两个方面,都特别的简洁,舒服,作者在这两个方面做得特别成功。

V语言感觉就是 go+rust+c 的结合体,吸收了这三者的优点,不过像go更多一点。

V语言实现了自举,编译器把V代码生成C代码,然后再调用tcc/gcc/clang来编译生成C代码。

V语言的语法简洁明了,比go和rust都好,吸收了go和rust各种简洁和优秀的特性。

有个关于V语言的评论挺有意思,原文是这样:

"If Go and Rust had a baby it would be this language. Grandpa C should be proud."

"如果Go和Rust有一个孩子的话,那应该就是V,他的爷爷C也挺自豪有这么一个孙子。"

对于V语言主要还是看重:

  • 简洁,干净的语法,读起来,写起来都很舒服。

  • 无GC/可选GC,编译快,生成的执行文件很小,执行很快。

  • 语言特性介于go和rust之间,比go多了一些缺失的核心特性,不会显得单调无聊;又比rust简单得多,不会显得过于复杂,难以掌握。

  • 由于编译生成C代码,可以很方便地跟已有的C代码库集成,快速使用C成熟丰富的代码库。

  • 安全,没有null/nil,没有全局变量,变量默认只读,边界检查,没有未定义行为。

当然,目前V语言的阶段还是比较早期的,还不够稳定。 不过,开发的速度挺快的,新语法特性一直在完善。 即使1.0发布了,也有挺长的路要走,毕竟一门编译语言的发展是按年来计算的。

目标

作者希望把V变成一个通用编程语言:

  • 能够像C那样,成为新一代的主流静态类型语言。

  • 能够像C/C++/rust那样,用来开发操作系统,数据库,浏览器等核心系统。

  • 能够像shell/python那样,用来写系统脚本。

  • 能够像python那样,用来写机器学习。

  • 能够像go/java那样,用来写网络应用。

  • 能够像C/C++那样,用来写GUI图形框架。

  • 能够像typescript那样,用来编译生成js前端代码。

一开始看到作者的这个目标也是被吓了一跳。目标挺远大,做到了就无比牛逼,也意味着工作量巨大,实现难度会比较大,周期会比较长。

官方吉祥物

还挺可爱的,网址:https://github.com/vlang/v-mascot

github关注度

从V语言的github star增长曲线图来看,V语言还是受到很多开发者的关注,star数量增长很快。

一起完善

目前V语言的中文文档比较少,如果有兴趣一起学习,记录V语言的各种语言特性及标准库,欢迎提交PR。

Alexander Medvednikov
https://vlang.io/
https://github.com/vlang
https://discord.com/invite/vlang
https://github.com/lydiandy/vlang_note
https://lydiandylin.gitbook.io/vlang
star-history-2022816
veasel