4463424 发表于 2025-2-16 15:01:34

时间段.秒.乘() 函数问题?

如下例子,时间段.秒.乘()函数 参数为变量/常量都会报错,直接填数字没问题.

错误: invalid operation: 火山.基本.秒 * 长度 (mismatched types time.Duration and 长整数)


<火山程序 类型 = "通常" 版本 = 1 />

变量 滴答器 <参考 类型 = 滴答器类>
变量 长度 <类型 = 长整数 值 = 10>

常量 a <类型 = 长整数 值 = 10>
滴答器 = 滴答器类.创建 (时间段.秒.乘 (长度))


zmmhcc 发表于 2025-2-16 16:51:51

强!这瑕疵都被你发现了。
从错误提示中看出,是“time.Duration”和“长整数”不匹配,类型不同的两个值不宜直接相乘,可能是go语言安全机制的原因;
处理方法3选1,试试
处理方法1:试试将时间段.乘()底层源码中的第2个参数,从“长整数”改为“时间段”,同时通过“时间段.取 (长度)”将长整数转换成“时间段”程序就能运行了。
处理方法2:滴答器 = 滴答器类.创建 (时间段.取 (长度))
处理方法3:滴答器 = 滴答器类.创建 (时间段.秒 * 10)

创世魂 发表于 2025-2-17 08:41:12

时间段.秒 * 10   这样应该就行了。

4463424 发表于 2025-2-17 09:39:33

创世魂 发表于 2025-2-17 08:41
时间段.秒 * 10   这样应该就行了。

这样是可以的,如果传入变量或者常量就会报错。
页: [1]
查看完整版本: 时间段.秒.乘() 函数问题?