Copyright © 2008 - 2021 SNANG. All Rights Reserved.
# V语言 - 基础函数
[本站首页](/old/vref/)
[中文文档](/old/vref/docs.html)
[手册目录](/old/vref/menu/v.html)
## slice()
从已有的数组中返回选定的元素
### 语法
```
fn (s array) slice(start, _end int) array
```
参数|描述
---|---
|一个数组对象,将根据后续参数,返回这数组中的选定元素
start|必需,正整数。规定从何处开始选取
end|必需,正整数。规定从何处结束选取
**返回值**
返回一个新的数组,包含从 start 到 end (不包括该元素)的元素
**注意**
- 这将会返回一个新的数组
- 如果开始在结束之后,或者开始小于0,这都将会返回错误
### 示例
```
fn main(){
arr := [5,4,3,2,1]
res := arr.slice(1,3)
println(res)
}
```
以上代码将输出
```
[4,3]
```
## replace()
在字符串中替换一些字符
### 语法
```
fn (s string) replace(rep, with string) string
```
参数|描述
---|---
|一个字符串对象,将根据后续参数,替换这个字符串的内容
rep|一个要被替换的子字符串
with|用来替换的文本
**返回值**
一个被替换后的字符串
### 示例
```
fn main(){
str:='hello world'
res:=str.replace('hello','hi')
println(res)
}
```
以上代码将输出
```
hi world
```
## to_i()
将字符串转换为整数
### 语法
```
fn (s string) to_i() int
```
参数|描述
---|---
|一个字符串对象,把这个字符串转换为整数
**返回值**
字符串转换为int类型的结果
**注意**
- 这个方法在编写参考手册时,未在V源码中找到,但出现在了V语言的官网中
- 尝试用`int()`代替,但该方法对于非数字对象会丢弃
### 示例
```
fn main(){
str:='123'
res:=str.int()
println(res+1)
}
```
以上代码将输出
```
124
```
## split()
把字符串分割为字符串数组
### 语法
```
fn (s string) split(delim string) []string
```
参数|描述
---|---
|一个字符串对象,作为将被分割的字符串
delim|一个分割字符串的标志(子字符串)
**返回值**
分割后的字符串数组
### 示例
```
fn main(){
str:='hello world, hi world!'
res:=str.split('world')
println(res)
}
```
以上代码将输出
```
["hello", ", hi", "!"]
```
## split_into_lines()
把字符串按行分割为字符串数组
### 语法
```
fn (s string) split_into_lines() []string
```
参数|描述
---|---
|一个字符串对象,作为将被分割的字符串
**返回值**
将字符串按行分割后,得到的字符串数组
### 示例
```
fn main(){
str:='hello world\nhi world!'
res:=str.split_into_lines()
println(res)
}
```
以上代码将输出
```
["hello world", "hi world!"]
```
## left()
提取字符串左侧N个字符
### 语法
```
fn (s string) left(n int) string
```
参数|描述
---|---
|一个字符串,作为将被截取的字符串
n|一个整数,截取后的字符串位数
**返回值**
截取后的字符串
**注意**
这不会产生新的字符串。
因为:字符串是不可变的。这意味着子字符串函数非常有效: 不执行复制,不需要额外的分配
### 示例
```
fn main(){
str:='hello world'
res:=str.left(7)
println(res)
}
```
以上代码将输出
```
hello w
```
## right()
提取字符串右侧N个字符
### 语法
```
fn (s string) right(n int) string
```
参数|描述
---|---
|一个字符串,作为将被截取的字符串
n|一个整数N,从字符串第N位开始截取
**返回值**
截取后的字符串
**注意**
这不会产生新的字符串。
因为:字符串是不可变的。这意味着子字符串函数非常有效: 不执行复制,不需要额外的分配
### 示例
```
fn main(){
str:='hello world'
res:=str.right(7)
println(res)
}
```
以上代码将输出
```
orld
```