今天一个好朋友 找到我,问我关于goland中Evaluate 小计算器的使用方式,说实话,我在此之前也没用过这个东西,然后我就找一些相关文档,但是这类文档少的可怜,所以我就稍微研究一下,找找材料,简单的记录一下这个小东西的使用吧。
先说这个 GoLand 的 “Evaluate” 在哪里?
首先是在 debug的状态下,他在。。。中;也有快捷键
我们继续看,这个东西,支持那些语法,或者说是支持那些表达式:
1. 变量和常量:(这个可能用的相对少一点)
在框内直接输入变量活着常量的定义的名称,就可以直接看到他所对应的值
例如:OhMyKey
2. 算术和数学表达式:(这个的使用可能会相对广泛一些了)
在输入框中可以输入表达式进行运算,前提是这个变量在你的denug的程序中
例如:x*y | 3x
还可以使用数学函数进行运算,例如:math.Sin(0.5)|math.Sin(x)
3. 字符串操作:(基本不会用)
还是和变量的使用很像,例如:
str[1:4] 只看这个字符串的某一些
4. 逻辑表达式:(这个用的也会比较多)
进行一些判断运算,例如:
a>b 会输出true false 或者 a>5 等等。。。
还有数组长度的判断 len(slice) == 0
5. 函数调用:(这个比较灵活了,和第2有点像)
可以直接调用函数,例如 strings包中的函数,也可以使用math包中定义的函数,例如:
strings.ToUpper(myString) | math.Pow(2, 3)
6. 结构体字段访问:(和1、3有点像)
输入结构体 实例的名称,访问其数据,也可以指定结构体的某一字段访问,例如:
myStruct。或者 myStruct.name
7. 数组和切片操作:
直接放入数组 或者切片的名称,也可以访问查看数组切片的一部分,例如:
myArray[2] 或者 mySlice[1:4]
8. 映射操作:(也就是map)
还是老规矩,实例的名称,你想访问查看其某一key的数据,直接写:
myMap[“key”] 这样就可以直接访问到此key 对应的value数据了
都看到这里了,不喊一声大哥 听听??
9. 接口类型断言:
这个也可以进行接口类型的断言 判断
看一下,断言的正常 与否 例如:
myInterface.(int)。看一下显示的 OK不OK
10. 类型转换:
和 接口类型 断言有点像 例如:
int(oneFloat)
11. 条件表达式:
这个肯能就有点意思了,他竟然支持三目运算符,要知道,在go中,是不支持的,
num1 == num2 ? trueValue : falseValue
12. 包级别函数和变量:
这个可能用的少吧
例如: fmt.Println(x)
13. 自定义类型方法调用:
这个就是在debug的程序中,加载好的自己定义的函数 可以直接调用,简单的参数直接放进去运算
例如:myFunc(12)
小结:
差不多 就这几种用法吧,前提是在 你的 debug的调试环境下,这个变量自定义函数 都是已经加载到的,只要遵循Go 语言的语法和debug的上下文,什么表达式都可以 尝试一下!!