何时何地在 DolphinDB 中添加 go 语句?

问题描述 投票:0回答:1

go
语句将脚本分成两个块。第一个块中注册的变量只有在 DolphinDB 解析并执行第一个块后才能在第二个块中引用和解析。如何识别动态注册的变量或函数并在正确的位置添加
go
语句?

go parsing dolphindb
1个回答
0
投票

一般来说,当变量或函数作为某些函数的内部对象,只能在这些函数执行后才能注册或取消定义,并可能在后续代码中引用时,可以使用

go
语句,例如使用
share
函数注册的共享表、使用
runScript
函数注册的对象以及使用
undef
函数未定义的变量。

在大多数情况下,函数将脚本或对象作为字符串传递。脚本或对象中定义的变量或函数只有在执行后才能注册。例如,在脚本

share(t, st)
中,参数st作为字符串传递,并在后续代码中引用。如果没有
go
语句,则会发生错误,因为执行前尚未生成对象“st”。该脚本可以重写为
share t as st
。这样,DolphinDB在解析时直接将st注册为变量,因此不需要添加
go
语句。 go语句的详细示例请参考go — DolphinDB 2.0文档。

某些脚本语言逐行执行代码。一些高级语言逐步执行代码。例如,C++程序遵循编译-链接-执行的过程。通过结合两者的优点,DolphinDB可以在解析过程中识别错误,避免在长时间的脚本执行后发现语法问题、参数不匹配等错误的情况。此外,大多数语言使用传统的字典方法将变量名称与相应的值关联起来。 DolphinDB在解析时将每个变量与一个ID关联起来,并在执行时使用这些ID来访问变量值,这样可以节省搜索时间并提高执行速度。

© www.soinside.com 2019 - 2024. All rights reserved.