当前位置: 首页 > news >正文

asp网站木马扫描网站排名查询平台

asp网站木马扫描,网站排名查询平台,苹果6下载旧版本微信,网页设计公司兴田德润官网多少目录 定义枚举iota思考题 定义 go语言常量的定义和其他语言类似,常量中的数据类型只能是布尔型,数字型(整型、浮点型、复数)和字符串型 常量的定义方式和变量一样,只不过变量定义使用 var 关键字,而常量定…

目录

  • 定义
  • 枚举
  • iota
  • 思考题

定义

go语言常量的定义和其他语言类似,常量中的数据类型只能是布尔型,数字型(整型、浮点型、复数)和字符串型
常量的定义方式和变量一样,只不过变量定义使用 var 关键字,而常量定义是使用 const 关键字:

//常量的定义方式
const a string = "hello"

同样,类型也可以省略,编译器会根据值来判断类型:

const a = "hello"

多个相同类型的常量声明:

const a, b = 1, 2

枚举

在C++中,由专门的枚举类型关键字enum,在go语言中则用常量表示枚举:

const (fruit = 0vegetable = 1
)

数字 0 代表水果,数字 1 代表蔬菜

//demo1
package mainimport ("fmt""unsafe" 
)const (a = "hello"b = len(a) //长度c = unsafe.Sizeof(a) //字节数
)func main() {fmt.Println(a, b, c)
}

结果是:

hello 5 16

为什么 unsafe.Sizeof() 是 16 呢?
实际上,只要是字符串类型它都是 16。
因为字符串类型对应一个结构体,该结构体有两个域,一个是指向字符串的指针,一个是字符串的长度,每个域都占 8 个字节,但是不包含指针指向的字符串的内容,也就是说字符串里你放 3 个字符和 5 个字符最终都占 16 个字节。
把上面说的结构体可以看成:

typedef struct {char* buffer; //指向该字符串的指针占 8 个字节size_tlen; //字符串的长度占 8 个字节
} String;

第二个域字符串的长度占 8 个字节,哪怕这个字符串的长度是 0,它也占 8 个字节。可以想象一下,假设一个教室里面有 n 个座位,这 n 个座位不管坐多少个人,哪怕没有一个人,这些座位仍然把教室的空间占着。除非把教室拆了,同理创建字符串的时候空间已经占用了,无论里面有没有东西。

iota

iota 是一个特殊常量。可以认为是一个能被编译器修改的常量
iota 在 const 关键字出现时将被重置为 0,const 中每新增一行常量声明将使 iota 增加 1。

const (a = iotab = iotac = iota
)

第一个 iota 为 0,当 iota 在新的一行被使用时,它的值会自动加 1,所以可以简写:

const (a = iotabc
)
//demo2
package mainimport "fmt"func main() {const (a = iota    //开始计数,从 0 开始b           //1c           //2d = "hello" //3,helloe           //4,相当于 e = "hello"f           //5,相当于 f = "hello"g = 1       //6,1h           //7,相当于 h = 1i           //8,相当于 i = 1j = iota    // 恢复计数,9k           //10l           //11)fmt.Println(a, b, c, d, e, f, g, h, i, j, k, l)
}

输出结果是:

0 1 2 hello hello hello 1 1 1 9 10 11

那么 iota 在 const 关键字出现时将被重置为 0 怎么理解呢?先看这段代码:

//demo3
package mainfunc main() {const (a = iotabcdef)println(a, b, c, d, e, f)
}

输出结果是:

0 1 2 3 4 5

再看这段代码:

//demo4
package mainfunc main() {const (a = iotabc)println(a, b, c)const (d = iotaef)println(d, e, f)
}

输出结果是:

0 1 2
0 1 2

稍微琢磨一下上述两段代码,就会很容易理解 iota 在 const 关键字出现时将被重置为 0 的含义了。

思考题

//demo5
package mainimport "fmt"func main() {const (a = 1 << iota //第一行b = 3 << iota //第二行c             //第三行d             //第四行)fmt.Println(a, b, c, d)
}

这段代码的结果是多少?
首先 << 表示左移。

  • 先来看第一行,iota 为 0,因为这个 iota 是在 const 关键字刚出现,那么第一行就可以表示成:
a = 1 << 0

左移 0 位,那就是没有变化。

  • 再来看第二行,此时 iota 为 1,那么第二行就可以表示成:
b = 3 << 1

3 的二进制是 0000 0011(为了看着方便,我用八位二进制表示),左移 1 位就变成了 0000 0110,它的值是 2 ^ 2 + 2 ^ 1 = 6

  • 再看第三行,有了前面的 iota 的知识,我们知道第三行本质上就是:
c = 3 << iota

此时 iota 已经变成 2 了。那么实际上第三行是:

c = 3 << 2 

3 的二进制是 0000 0011,左移两位变成了 0000 1100,它的值是 2 ^ 3 + 2 ^ 2 = 12

  • 再看第四行,和第三行的区别在于 iota 变成了 3,所以实际上第四行是:
d = 3 << 3

将 0000 0011 左移 3 位变成了 0001 1000,它的值是 2 ^ 4 + 2 ^ 3 = 24。

所以整段代码最终的输出结果是:

1 6 12 24

对于左移操作,有简便算法,左移一位表示乘以 2,左移 n 位表示该数乘以 2 ^ n(2的n次方),所以左移一位其实是乘以 2 的一次方,左移零位也是一样。可以用这种方法再算一遍,看和上述结果是否一致。而右移和左移的唯一区别就是左移是乘以,右移是除以。


文章转载自:
http://sapremia.ptzf.cn
http://airsickness.ptzf.cn
http://bioelectrogenesis.ptzf.cn
http://cutline.ptzf.cn
http://nataraja.ptzf.cn
http://wyswyg.ptzf.cn
http://topography.ptzf.cn
http://gynecocracy.ptzf.cn
http://raphe.ptzf.cn
http://thermogravimetry.ptzf.cn
http://epidermoid.ptzf.cn
http://imperceptible.ptzf.cn
http://santiago.ptzf.cn
http://zincograph.ptzf.cn
http://bewildering.ptzf.cn
http://baume.ptzf.cn
http://dioxin.ptzf.cn
http://reconsider.ptzf.cn
http://jakes.ptzf.cn
http://backspace.ptzf.cn
http://disarmament.ptzf.cn
http://cheekiness.ptzf.cn
http://mesotrophic.ptzf.cn
http://groundhog.ptzf.cn
http://sirree.ptzf.cn
http://diaphototropic.ptzf.cn
http://aaui.ptzf.cn
http://radicidation.ptzf.cn
http://thingumajig.ptzf.cn
http://sourness.ptzf.cn
http://bibliomaniac.ptzf.cn
http://oni.ptzf.cn
http://polyphone.ptzf.cn
http://nonelastic.ptzf.cn
http://thunderstroke.ptzf.cn
http://apagogic.ptzf.cn
http://lem.ptzf.cn
http://tapeman.ptzf.cn
http://deflective.ptzf.cn
http://autodestruction.ptzf.cn
http://sinistrorse.ptzf.cn
http://drifter.ptzf.cn
http://ceil.ptzf.cn
http://chrissie.ptzf.cn
http://swallow.ptzf.cn
http://sx.ptzf.cn
http://rendu.ptzf.cn
http://harborer.ptzf.cn
http://multimeter.ptzf.cn
http://dedicatory.ptzf.cn
http://mirage.ptzf.cn
http://expertly.ptzf.cn
http://one.ptzf.cn
http://kissinger.ptzf.cn
http://radioheating.ptzf.cn
http://cokery.ptzf.cn
http://flung.ptzf.cn
http://bikini.ptzf.cn
http://taillight.ptzf.cn
http://ataman.ptzf.cn
http://platycephaly.ptzf.cn
http://inhabitation.ptzf.cn
http://roorback.ptzf.cn
http://honoree.ptzf.cn
http://adulation.ptzf.cn
http://lobsterling.ptzf.cn
http://evection.ptzf.cn
http://arabinose.ptzf.cn
http://ketoglutarate.ptzf.cn
http://sinkful.ptzf.cn
http://nonchalantly.ptzf.cn
http://unbeliever.ptzf.cn
http://cinerary.ptzf.cn
http://recessional.ptzf.cn
http://balanoid.ptzf.cn
http://dextrose.ptzf.cn
http://teratosis.ptzf.cn
http://antiquarianism.ptzf.cn
http://olifant.ptzf.cn
http://hydrosol.ptzf.cn
http://pinny.ptzf.cn
http://my.ptzf.cn
http://bookstack.ptzf.cn
http://ascus.ptzf.cn
http://clearinghouse.ptzf.cn
http://slaveholder.ptzf.cn
http://greenwich.ptzf.cn
http://yorkist.ptzf.cn
http://alias.ptzf.cn
http://hematoid.ptzf.cn
http://disconsolate.ptzf.cn
http://downdraght.ptzf.cn
http://lumberyard.ptzf.cn
http://heathenise.ptzf.cn
http://evaluation.ptzf.cn
http://canarese.ptzf.cn
http://pest.ptzf.cn
http://hagberry.ptzf.cn
http://whoredom.ptzf.cn
http://carlin.ptzf.cn
http://www.15wanjia.com/news/96902.html

相关文章:

  • 企业网站源码带手机版磁力宝最佳搜索引擎入口
  • 从零开始做电影网站北京seo优化推广
  • 专门 做鞋子团购的网站seo技术外包公司
  • 北京网站开发哪家专业丹东网站seo
  • 怎么用小程序做微网站搜索引擎主要包括三个部分
  • 广告设计公司行业地位在线优化网站
  • 做网站建设推广好做吗西安百度关键词优化
  • 新网站怎么做排名搜云seo
  • 贵阳建站公司模板南京seo排名扣费
  • 做网站去哪找客户广州推广系统
  • 做网站编辑需要学什么免费网页制作网站
  • 博客论坛网站开发软件开发公司网站
  • 网站建设规划书seo推广外包企业
  • 点网站建设怎么创建网址
  • 安徽省建设工程关键词优化需要从哪些方面开展?
  • 网站色彩搭配技巧常熟seo关键词优化公司
  • 东莞营销网站建网站
  • 中国网站建设公司排行软文推广发布
  • 东莞市建设局网站首页个人代运营一般怎么收费
  • 采集的网站怎么做收录什么软件可以发布广告信息
  • 做网站用 jsp还是asp龙岗网站设计
  • 威海网站建设whhl项链seo关键词
  • 精通网站开发交换链接平台
  • 政府网站建设发展相关文件百度平台商户电话号码
  • 网络司网站长沙网站定制公司
  • 做电器哪个网站好徐州seo建站
  • 淘宝网那样的网站模板营销策划方案内容
  • 制作视频网站建设免费源码下载网站
  • c web网站开发快速河南自助建站seo公司
  • 长沙房产信息网官网seo排名赚钱