GO——var & :=

var

功能:变量声明

声明变量并赋值。
可通过go内部的类型判断,自动推断出变量类型,即隐式类型声明
若不明确赋值,则会对变量赋其对应类型的默认值,即默认赋值
可同时对同类型的多变量同时赋值,即平行赋值

适用范围

可声明全局变量局部变量

用法示例

var foo int = 1              //foo == 1, type: int  显式类型声明 & 显式赋值
var foo int                  //foo == 0, type: int  显式类型声明 & 默认赋值
var foo = 1                  //foo == 1, type: int  隐式类型声明 & 显式赋值

var foo, bar int = 1, 2      //foo == 1, type: int  bar == 2, type: int  平行赋值 & 显式类型声明 & 显式赋值
var foo, bar int             //foo == 0, type: int  bar == 0, type: int  平行赋值 & 显式类型声明 & 默认赋值
var foo, bar = 1, 2          //foo == 1, type: int  bar == 2, type: int  平行赋值 & 隐式类型声明 & 显式赋值

//其他数据类型示例
type Structer struct{
	A int
	B string
}
var bar Structer  //bar == {A:0 B:}, type: Structer  完全等价于:var bar Structer = Structer{}     

:=

功能:短变量声明

声明局部变量并赋值。
不可指定变量类型。
必须显式赋值。
可同时对同类型的多变量同时赋值。

适用范围

只能于函数内部创建局部变量

用法示例

func myFunc() {
	foo1 := 1          //foo1 == 1, type: int  隐式类型声明 & 显式赋值
	foo2, bar2 := 1, 2 //foo2 == 1, type: int  bar2 == 2, type: int  平行赋值 & 隐式类型声明 & 显式赋值

	//其他数据类型示例
	bar3 := Structer{} //bar == {A:0 B:}, type: Structer
	fmt.Println(foo1, foo2, bar2, bar3)
}

type Structer struct {
	A int
	B string
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一段股票交易程序的代码,以下是对每一行代码的解释: 1. VAR2:=(CLOSE-LLV(LOW,24))/(HHV(HIGH,24)-LLV(LOW,24))*200*10; 计算买卖力度指标的值,其中CLOSE表示当日收盘价,LLV(LOW,24)表示过去24天内最低价的最小值,HHV(HIGH,24)表示过去24天内最高价的最大值,乘以200和10是为了将指标值扩大到便于观察的范围。 2. 买卖力度: SMA(VAR2,5,1),COLORGREEN; 用5天的简单移动平均值表示买卖力度指标的趋势,并用绿色表示。 3. 卖出区: 1500,COLORYELLOW; 在买卖力度指标超过1500时,用黄色表示卖出区。 4. VAR3:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN)); 计算成交量的变化率,其中VOL表示当日成交量,HIGH和LOW分别表示当日的最高价和最低价,CLOSE和OPEN分别表示当日的收盘价和开盘价。 5. VAR4:=(IF(CLOSE>OPEN,VAR3*(HIGH-LOW),IF(CLOSE<OPEN,0-VAR3*(HIGH-CLOSE+OPEN-LOW),IF(CLOSE=OPEN,0))))*100; 计算价格变化的变化率,如果收盘价高于开盘价,则将VAR3与(HIGH-LOW)相乘,否则将VAR3与(HIGH-CLOSE+OPEN-LOW)相乘。如果收盘价等于开盘价,则将VAR4设为0。最后将VAR4乘以100,便于观察。 6. VAR5:=AMOUNT/(100*VOL); 计算当日成交金额与成交量的比值,其中AMOUNT表示当日成交金额。 7. VAR6:=MA(VAR5,40); 用40天的简单移动平均值表示成交金额与成交量的比值的趋势。 8. VAR7:=100*(CLOSE-VAR6)/VAR6; 计算当日收盘价与成交金额与成交量的比值的差异,用百分比表示。 9. 底部追击: IF(VAR4>0 AND VAR7<1.08,300,200),COLORGREEN; 如果价格变化的变化率大于0且当日收盘价与成交金额与成交量的比值的差异小于1.08,则用绿色表示底部追击。 10. STICKLINE(VAR4>0 AND VAR7<1.08,1200,200,10,0) , COLORGREEN; 在底部追击的情况下,用绿色画出10日内收盘价的趋势线。 11. 买进: IF(VAR4>0 AND VAR7<1.05,300,200),COLORMAGENTA; 如果价格变化的变化率大于0且当日收盘价与成交金额与成交量的比值的差异小于1.05,则用洋红色表示买进。 12. STICKLINE(VAR4>0 AND VAR7<1.05,800,200,6,1),COLORMAGENTA; 在买进的情况下,用洋红色画出6日内收盘价的趋势线。 13. VAR8:=(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34))*100; 计算价格在过去34天内的相对位置,用百分比表示。 14. VAR9:=SMA(VAR8,3,1); 用3天的简单移动平均值表示价格相对位置的趋势。 15. VARA:=SMA(VAR9,3,1); 用3天的简单移动平均值表示价格相对位置的趋势的趋势。 16. D: SMA(VARA,5,1)*20, COLORCYAN; 用5天的简单移动平均值表示价格相对位置的趋势的趋势的趋势,并用青色表示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值