You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pine Script如何正确实现可变计数器 代码不生效解决

问题根因

这段Go代码计数不生效的核心原因是误用了短变量声明操作符:=:

  • if代码块内的count := count + 1会触发短变量声明规则,在if的局部作用域下创建一个全新的同名局部变量count,和外层初始化的var count = 0完全是两个独立变量
  • 外层定义的计数变量count从头到尾没有被修改,if块内新建的局部count会在if逻辑执行完毕后直接销毁,自然无法得到预期的计数结果
修正方案

将if块内的短变量声明符:=替换为普通赋值操作符=,直接对外层已经声明完成的count变量做修改即可:

var count = 0
if a == b {
    count = count + 1
    // 也可以简写为 count += 1,效果完全一致
}

注意:Go语言里的:=仅用于声明并初始化当前作用域下的新变量,给外层已声明的变量赋值时直接用=即可,否则很容易出现这种局部变量遮蔽外层变量的问题。

内容的提问来源于stack exchange,提问作者Andrey Kanava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:01:46