# go-lang-anko 脚本语法指南 ## 简介 `anko` 是一个用 Go 编写的轻量级脚本引擎,支持动态执行 Go 风格的脚本代码。它适用于需要嵌入脚本功能的 Go 应用程序。 ## 基本语法 ### 变量声明与赋值 ```go // 声明变量并赋值 x = 42 name = "anko" // 多变量赋值 a, b = 1, 2 ``` ### 控制结构 #### if 语句 ```go if x > 0 { println("x is positive") } else { println("x is non-positive") } ``` #### for 循环 ```go // 类似 Go 的 for 循环 for i = 0; i < 10; i++ { println(i) } // 类似 while 的循环 for x < 100 { x *= 2 } ``` #### switch 语句 ```go switch x { case 1: println("one") case 2: println("two") default: println("unknown") } ``` ### 函数定义与调用 ```go // 定义函数 func add(a, b) { return a + b } // 调用函数 result = add(3, 4) ``` ### 内置函数和标准库 `anko` 支持部分 Go 标准库函数,例如: ```go // 字符串操作 s = "hello" println(len(s)) // 输出 5 // 数学函数 println(math.Pi) ``` ### 错误处理 ```go // 使用 try-catch 捕获错误 try { x = 1 / 0 } catch(err) { println("Error:", err) } ``` ## 示例代码 ### 计算斐波那契数列 ```go func fib(n) { if n <= 1 { return n } return fib(n-1) + fib(n-2) } println(fib(10)) // 输出 55 ``` ### 文件操作 ```go // 读取文件内容 content = file.Read("example.txt") println(content) ``` ## 注意事项 1. **性能**:`anko` 是解释执行的,性能不如原生 Go 代码。 2. **安全性**:避免执行不可信的脚本代码。 3. **限制**:不支持 Go 的所有特性(如指针、接口等)。 4. **调试**:使用 `println` 或 `try-catch` 进行简单调试。