v语言初体验小结
作者:王李 发布时间:2022-09-22 01:02:51
标签:v语言
最近github上开源了一个"新语言"vlang,火的不得了,我不信,于是乎,尝试了一下,真香。
以下内存均来自https://www.v-lang.cnv语言文档 by 20190701
ubuntu安装vlang
依赖安装
这里采用的是ubuntu的机器,centos的会报错,暂时没有去操作
查看机器型号
$ uname -a
Linux liwang 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
$
安装必要依赖 gcc 和 make
$ sudo apt install gcc make -y
$
下载编译安装v
$ git clone https://github.com/vlang/v
$ cd v/
$ make
$ sudo ln -s ~/v/v /usr/local/bin/
测试
$ v
V 0.1.10
Use Ctrl-D or `exit` to exit
For now you have to use println() to print values, this will be fixed soon
>>> print ('hello world')
hello world
>>> $
$
Hello world
代码
$ cat hello.v
fn main() {
/*
* 注意: v 语言中 字符串不允许 使用双引号,至少在 v1.0版本不行
*/
println('Hello World')
}
$
编译运行
编译.v文件
$ v hello.v
$ ./hello && rm -f hello
Hello World
$
编译运行
直接使用 v run file.v 可以编译并且运行二进制文件
$ v run hello.v
============ running hello ============
Hello World
$
函数
语法/案例
函数和golang类似 语法
fn 函数名称 (形参) 返回值 {
函数体
}
例子
$ cat func1.v
fn v_add(x,y int) int {
z := x + y
return z
}
fn main() {
a := 1
b := 2
c := v_add(a,b)
println(c)
}
$
编译运行
$ v run func1.v
============ running func1 ============
3
$
数组
数组基本用法
代码
$ cat arrays.v
fn main() {
// 定义数组
test_array := [1,2,3]
// 打印数组
println(test_array)
// 输出数组长度
println(test_array.len)
// 判断数组是否包含 1
println(test_array.contains(1))
// 判断数组是否包含 4
println(test_array.contains(4))
}
$
编译执行
$ v run arrays.v
============ running arrays ============
[1, 2, 3]
true
false
$
可变数组
默认数组定义好之后,是不能修改其长度的,而在其前面加上关键字 mut ,则可以实现变长数组,例如
代码
$ cat arrays_1.v
fn main() {
// 定义可变数组
mut other_arrays := [1,2,3]
// 打印数组长度
println('数组变化前长度')
println(other_arrays.len)
// 打印数组内容
println('数组内容')
println(other_arrays)
// 追加数组值
other_arrays << 4
// 打印数组长度
println('数组追加后长度')
println(other_arrays.len)
// 打印数组内容
println('数组内容')
println(other_arrays)
}
$
编译运行
ps: 目前的方法我只找到了追加,还未找到删除,[尴尬--]
$ v run arrays_1.v
============ running arrays_1 ============
数组变化前长度
数组内容
[1, 2, 3]
数组追加后长度
数组内容
[1, 2, 3, 4]
$
未完待续。。。
来源:https://www.cnblogs.com/wang-li/p/11116166.html


猜你喜欢
- 本文实例为大家分享了python使用sendmail发送邮件的具体代码,供大家参考,具体内容如下参考链接:How do I send mai
- 如下所示:# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding
- 本文主要分享基于python的数据分析三方库pandas,numpy的一次爬坑经历,发现并分析了python语言对于浮点数精度处理不准确的问
- 功能所在位置该功能运用了django.contrib.messages这个库,再django项目中srtting.py文件中的38行,APP
- NumPy提供了多种存取数组内容的文件操作函数。保存数组数据的文件可以是二进制格式或者文本格式。二进制格式的文件又分为NumPy
- 在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。1、IF()函数的使用IF(expr
- tensorflow里面提供了实现图像进行裁剪和填充的函数,就是tf.image.resize_image_with_crop_or_pad
- 为了偷个懒,利用这个数据库,但是在附加的时候出错了。错误如下:一开始还以为数据库位置存在问题,所以重新放置了一个位置,仍然无效。最后,上网寻
- 前两天我在工作中遇到这样一个问题,我们有一个程序是用来增量抽取EBS 中的表数据的,有的是全量抽取,即先删除原表中的数据,然后重新抽取数据,
- go fmt命令主要是用来帮你格式化所写好的代码文件【很多第三方集成软件都是使用了go fmt命令】一、使用:go fmt <文件名&
- 我就废话不多说了,大家还是直接看代码吧!a1 = raw_input("please input a number")a
- 从物理学的机制出发,波动模型相对于光线模型,显然更加接近光的本质;但是从物理学的发展来说,波动光学旨在解决几何光学无法解决的问题,可谓光线模
- PHP Too few arguments to function的解决过去自定义函数的时候如果参数不足,则会抛出一个警告,但是在7.1开始
- 什么是 docopt?1、docopt 是一种 Python 编写的命令行执行脚本的交互语言。它是一种语言!它是一种语言!它是一种语言!2、
- TensorFlow用张量这种数据结构来表示所有的数据。用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩
- 今天写的代码片段:X = Y = []..X.append(x)Y.append(y)其中x和y是读取的每一个数据的xy值,打算将其归入列表
- 需求:从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的SqlClient换成OracleClient调用,结果远没自己想
- 各人觉得这些LOGO的设计都很好,简洁,明了,大方。特整理出来与大家分享,希望能吸取设计经验。asp之家祝愿各位09年身体健康,万事如意,网
- 数据库分类早期数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网中,通常把数据库分为两类,即关系型数据库和非
- 对数学家来说,Python这门语言有着很多吸引他们的地方。举几个例子:对于tuple、lists以及sets等容器的支持,使用与传统数学类似