Skip to main content

语法扩展:全局函数表

基础内置函数列表#

函数名函数描述参数返回值用法案例
appendslice / list 的追加参数一为一个 Slice,剩余可变参数为想要追加到 slice 中的元素slice T: 追加元素过后的新 slicea=[1,2,3,4];a = append(a, 4,1,2)
copyslice / list 复制两个参数,第一个为要复制到的 slice,第二个是源 sliceint复制了几个元素(int)a=[1,2,3,4];b=[6,7,8];copy(b, a)
delete根据 key 删除 map 的某个键值对第一个参数为需要删除键值对的 map,第二个参数想要删除的 key-a={"abc": 1};delete(a, "abc")
len用来统计一个对象的长度(chan/slice/map)需要统计长度的对象int: 元素的长度a=[1,2,3];len(a)
cap用来统计一个对象的容量(chan/slice/map):与 len 具体区别请查看 Golang 相关文档需要统计容量的对象int: 元素的长度a=[1,2,3];cap(a)
make同Golang的 make,可以用来创建 map / slice / chan参数一为想要创建的实例的类型,剩余可变参数为容量,大小,长度等返回值为创建成功的对象make([]int); make([]int, 1); make(map[string]string); make(chan var, 1)
close关闭 chan参数为想要关闭的 chan 实例-ch=make(chan int, 2); ch<-1; close(ch);
panic同 Golang panic,程序出现大的异常,需要退出脚本panic("Unexpected ERROR!!!")
recover同 Golang recover,配合 defer 使用可以恢复 panicdefer fn{err = recover();println(err)}; panic("111")
diepanic 的变种,接收一个参数,这个参数如果是 error 类型(Golang类型)则报错退出脚本接收一个参数-rsp, err = http.Get("http://baidu.com"); die(err);
fail基本同 panic,但是可以接收任何参数,使用起来更友好任何参数-fail(1, 2, 3)
panicf同 Golang panic(fmt.Sprintf()) 程序出现大的异常,需要退出脚本a=123; panicf("Error Code: %v", a)
print同 Golang fmt.Printprint("To Stdout CONSOLE ....")
printf同 Golang fmt.Printfa="v1ll4n";printf("To Stdout by %v", a)
println同 Golang fmt.Printlnprintln("Hello World")
sprint同 Golang fmt.Sprint返回格式化后的 strstr = sprint("To Stdout CONSOLE ....")
sprintf同 Golang fmt.Sprintf返回格式化后的 stra="v1ll4n";str = sprintf("To Stdout by %v", a)
sprintln同 Golang fmt.Sprintln返回格式化后的 strstr = sprintln("Hello World")
get获取一个 map 的 key 的值两个参数,第一个参数为需要操作的 map,第二个参数为 map 的 keykey 的具体值a={"abb":123};println(get(a, "abb"))
set设置 map 的键值对三个参数,第一个参数为要操作的 map,第二个参数为 map 的 key,第三个参数为 map 的值-a={"abc": "123"};set(a, "abc", "555");println(a) // OUTPUT: map[abc:555]
float类型转换为 float64float(1)
float64类型转换为 float64float64(1)
float32类型转换为 Golang 的 float32float32(1)
int8类型转换为 int8
int16类型转换函数
int32类型转换函数
int64类型转换函数
int类型转换函数
uint类型转换函数
byte类型转换函数
uint8类型转换函数
uint16类型转换函数
uint32类型转换函数
uint64类型转换函数
string类型转换函数
bool类型转换函数
parseInt
parseStr/parseString任意对象转换成 string 类型的值,相当于 fmt.Sprintf("%v", param)输入任意对象输出这个对象的 string 样子println(parseStr(01235)) 输出 669
parseBool/parseBoolean字符串转换成 bool 的值,相当于 strconv.ParseBool(param)如果解析失败,会返回 false输入一个字符串(t/true/T/True/F/False/1/0均能合理解析)解析结果为 boolprintln(parseBool("T"));
parseFloat字符串转换为 float
var类型转换函数,转换为 Golang 中的 interface{}
type获取一个实例实际的类型想要查看类型的返回具体的类型信息,可以直接println查看println(type(make(map[string]int, 4)))
max取所有参数的最大值输入数字即可,int float 都行所有参数的最大值max(1,23,4,666.1)
min取参数的最小值输入数字即可,int float 都行所有参数的最小值min(1,23,4,666.1)
sleepSleep 一段时间输入想要 sleep 的秒数,支持 float-sleep(1.2) // sleep 1.2 秒
waitWait 是 Sleep 的强化版,兼容 Sleep 的功能,同时支持 Wait 一个 context.Context如果输入数字,则 Sleep 一段时间,如果输入 Context,则 <-ctx.Done 等待执行完,也支持针对 sync.WaitGroupsync.SizedWaitGroup-wait(1);wait(0.5);wait(context.Background());
uuid随机生成一个 uuid无参数返回 UUID 的 stringprint(uuid())
loglevel设置系统执行日志的级别,默认为 warning参数为字符串 `"info""warning""error"
timestamp获取当前时间戳,同 time.Now().Unix()-int64 当前时间戳(秒),ts = timestamp()
nanotimestamp获取当前时间戳,同 time.Now().UnixNano()-int64 当前时间戳(纳秒)nanots = nanotimestamp()
timestampToTime把当前时间戳转换成 time.Time 对象参数只有一个,时间戳(int64)time.Time对象dump(timestampToTime(timestamp()))
timestampToDatetime时间戳转换成可读的时间字符串参数只有一个,时间戳(int64)2006-01-02 15:04:05 格式的字符串print(timestampToDatetime(timestamp()))
datetime获取当前日期到秒的字符串-2006-01-02 15:04:05 格式的字符串println(datetime())
datetimeToTimestamp可读时间字符串转换成时间戳(int64)2006-01-02 15:04:05 格式的字符串返回一个 int64 unix 时间戳println(datetimeToTimestamp(datetime()))
date获取当前日期到天的字符串-2006-01-02 格式字符串
dump展示实例的详细信息,相当于 println 的强化版,可以展示非常详细的成员信息无限制输入参数,多个参数均可执行-a = {"abc": 123}; dump(a)
sdump实例的详细信息输出到字符串,相当于 sprintln 的强化版,可以展示非常详细的成员信息无限制输入参数,多个参数均可执行-a = {"abc": 123}; println(sdump(a))
assert/assertTrue确保 assert(expr, reasons...) expr 是正确的,否则报错,原因是 reasons 的内容expr 是一个表达式,reasons 可以任意填内容-expr=1>2;assert(expr, "ERROR")
assertfassert 功能一致,但是可以接收格式化字符串输入expr=1>2; assertf(expr, "ERROR: %v", "1>2")
isEmpty判断实例是 nil 或者 undefined输入想要判断的实例如果是 nil 或 undefined,返回 true,否则 falsea,b,c=isEmpty(nil),isEmpty(undefined),isEmpty(111);println(a,b,c)
assertEmpty确保实例是 nil 或者 undefined,如果不是,抛出错误只有一个参数,参数为一个实例,会判断是不是 nil 或者 undefinedrsp, err = http.Get("http://baidu.com"); assertEmpty(err)
randn随机生成一个 int两个参数 randn(min, max) 最小值和最大值均为 int返回 min 和 max 之间的一个随机整形println(randn(1,99))
randstr随机生成一个字符串只有一个参数,参数为随机字符串的长度返回随机生成的字符串println(randstr(10)) 输出 hhisgUZdlN
desc描述一个对象的结构参数为想要描述的对象-desc(yourParam)
import导入一个模块中的某个变量详细定义在这里-import('file.yak', "abcFunc")
now同 time.Now
mkmap已废弃
mapFrom已废弃
mapOf已废弃
mkslice已废弃
slice已废弃
sliceFrom已废弃
sliceOf已废弃
sub已废弃