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

揭阳网站制作计划海淀做企业网站的公司

揭阳网站制作计划,海淀做企业网站的公司,优化企业网站排名要多少钱,网站关键词排名怎么做目录 定义枚举iota思考题 定义 go语言常量的定义和其他语言类似#xff0c;常量中的数据类型只能是布尔型#xff0c;数字型#xff08;整型、浮点型、复数#xff09;和字符串型 常量的定义方式和变量一样#xff0c;只不过变量定义使用 var 关键字#xff0c;而常量定… 目录 定义枚举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 (fmtunsafe )const (a hellob 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 关键字出现时将被重置为 0const 中每新增一行常量声明将使 iota 增加 1。 const (a iotab iotac iota )第一个 iota 为 0当 iota 在新的一行被使用时它的值会自动加 1所以可以简写 const (a iotabc )//demo2 package mainimport fmtfunc main() {const (a iota //开始计数从 0 开始b //1c //2d hello //3helloe //4相当于 e hellof //5相当于 f hellog 1 //61h //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 fmtfunc 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 13 的二进制是 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 ^ n2的n次方所以左移一位其实是乘以 2 的一次方左移零位也是一样。可以用这种方法再算一遍看和上述结果是否一致。而右移和左移的唯一区别就是左移是乘以右移是除以。
http://www.w-s-a.com/news/252320/

相关文章:

  • 网站的空间和域名备案做网站要会写什么
  • wap 网站源码企业网站被转做非法用途
  • 下载网站模板怎么使用做物流网站的公司
  • 网站 商城 app 建设建设银行江苏省行网站
  • 广州网站开发建设西安广告公司联系方式
  • 怎么用腾讯云服务器做网站个人网站开发视频
  • 网站建设技术代码坦洲网站建设公司哪家好
  • 阿里云对象存储做静态网站怎样做网站性能优化
  • 怎样做理财投资网站装修平面图用什么软件简单
  • 建手机wap网站大概多少钱苏州网站设计公司有哪些
  • 网站建设需求文件学校网站建设方案及报价
  • 网站开发一般多少钱wordpress打赏赞插件
  • 做中国o2o网站领导唐山网站制作软件
  • 门户网站简介做网站一天能接多少单
  • 论坛类网站建设遵义网站制作外包
  • vps服务器购买网站小视频做网站怎么赚钱
  • 网站用图片wordpress同步发布
  • 织梦图片自适应网站源码网页美工的设计要点
  • 渝快办官方网站wordpress产品图片怎么改
  • 高端网站特色深圳建网站哪
  • 宝塔搭建网站软文小故事200字
  • 公司网站设计免费虚拟主机网站源码
  • 怎样做好网站用户体验申请网站空间
  • 网站建设优化公司招聘福州网站建设思企
  • 设计网站会员wordpress rss聚合
  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的