Skip to content

0523关于常量的用法

ziyouzy edited this page May 23, 2020 · 1 revision

首先对于常量的定义,范例如下:

const (
ValidateModbus = iota
BaseRawCreateCRCOnly 
BaseRawCreateModbus
)

//calculatemode:
const (
MbTableMode = iota
)

//endianmode:
const (
Little = iota
Big 
)

const (
CheckSuccess = iota
    CheckSuccessButEndianContrary
    CheckFailed
)

不同的功能组设置不同的const,这样才算的上思路清晰

一个iota只在一个()内起作用,iota的赋值从0开始而不是1,大致可理解成每到下一行会+1

具体应用的时候会有三种情况,一种是作为返回值,如:

func JudgeCRC16(data []byte) (checkresult int)

可以看出,iota赋值的数据类型本质是int

由此作为返回值的情况推导,如作为参数表,应是这种形式:

func (this *CrcValidator) TestCheckSum(testprocessingmodel int) (crc []byte,err error)

如作为结构体内部字段,应是这种格式:

type CrcValidator struct {
    modbus []byte
processingmodel int
calculatemode int
endianmode int 
}  

总之就是int怎么用它就怎么用就行

Clone this wiki locally