Search…
函数
函数是一个有组织、可重用的代码块,用于执行单个相关操作。 函数为应用程序提供了更好的模块性和高度的代码重用。 理想情况下,您应该考虑使用单一责任原则 (SOLID),它声明每个模块或功能都应该有责任 对于软件提供的功能的单个部分,以保持代码的可维护性。 像C和Go一样,函数不能重载。
1
fn sum(x, y int) int {
2
return x + y
3
}
4
5
println(sum(77, 33)) // 110
Copied!
注意:类型在参数名之后。
1
fn full_name(first_name, last_name string) string {
2
return first_name + ' ' + last_name
3
}
4
5
println(full_name("Vitor", "Oliveira")) // Vitor Oliveira
Copied!

函数变量

函数也可以是可变的,即接受无穷多个参数。 它们不是数组,不能返回。
1
fn foo(test ...string) {
2
for txt in test {
3
println(txt)
4
}
5
}
6
7
foo("V", "is", "the", "best", "lang" , "ever")
Copied!
输出
1
V
2
is
3
the
4
best
5
lang
6
ever
Copied!

多返回函数

与Go类似,V中的函数也可以返回多个不同类型的函数。
1
fn student(name string, age int) (string, int) {
2
return name, age
3
}
4
5
name, age := student("Tom", 15)
6
println(name1)
7
println(age1)
Copied!
输出
1
Tom, 15
Copied!

高阶函数

V中的函数也可以接受另一个函数作为参数 需要排序、映射、筛选等。
1
fn square(num int) int {
2
return num * num
3
}
4
5
fn run(value int, op fn(int) int) int {
6
return op(value)
7
}
8
9
println(run(10, square)) // 100
Copied!

命名规则

以下是命名函数时应记住的规则。
  • 名称不应包含像AlphaTest这样的大写字母`
  • 使用下划线作为分隔符,如hello_world
  • 名称不应以开头_
  • 名称应尽可能具有描述性
  • 名称不应包含__
  • 名称不应包含任何空格
这些规则来自Snake_Case V使用Snake Case,并且更喜欢它,因为它更易于阅读、书写和理解。

有效名称

1
fn i_am_valid()
2
fn thisworkstoo()
3
fn print_values_through_struct()
Copied!

无效名称

1
fn IamNotValid()
2
fn _print()
3
fn print__logs()
4
fn new Make Lexer()
Copied!

Exercises

  1. 1.
    Write a V program to find the square of any number using the function.
  2. 2.
    Write a V program to check a given number is even or odd using the function.
  3. 3.
    Write a V program to convert decimal number to binary number using the function.
  4. 4.
    Write a V program to check whether a number is a prime number or not using the function.
  5. 5.
    Write a V program to get the largest element of an array using the function.
Last modified 1yr ago