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

广州南沙区建设局网站龙岗网站设计市场

广州南沙区建设局网站,龙岗网站设计市场,手机app下载安装免费下载,python 做电商网站文章目录 1.下面的代码有什么问题?2.下面代码最后一行输出什么?请说明原因3.下面代码有什么问题?4.下面的代码输出什么? 1.下面的代码有什么问题? func main() {data : []int{1,2,3}i : 0ifmt.Println(data[i]) }参考…

文章目录

    • 1.下面的代码有什么问题?
    • 2.下面代码最后一行输出什么?请说明原因
    • 3.下面代码有什么问题?
    • 4.下面的代码输出什么?

1.下面的代码有什么问题?

func main() {data := []int{1,2,3}i := 0++ifmt.Println(data[i++])
}

参考答案及解析:对于自增、自减,需要注意:

自增、自减不在是运算符,只能作为独立语句,而不是表达式;

不像其他语言,Go 语言中不支持 ++i 和 --i 操作;

表达式通常是求值代码,可作为右值或参数使用。而语句表示完成一个任务,比如 if、for 语句等。表达式可作为语句使用,但语句不能当做表达式。

修复代码:

func main() {  data := []int{1,2,3}i := 0i++fmt.Println(data[i])
}

2.下面代码最后一行输出什么?请说明原因

 func main() {x := 1fmt.Println(x){fmt.Println(x)i,x := 2,2fmt.Println(i,x)}fmt.Println(x)  // print ?
}

参考答案及解析:输出1。知识点:变量隐藏。使用变量简短声明符号 := 时,如果符号左边有多个变量,只需要保证至少有一个变量是新声明的,并对已定义的变量尽进行赋值操作。但如果出现作用域之后,就会导致变量隐藏的问题,就像这个例子一样。

3.下面代码有什么问题?

type foo struct {bar int
}func main() {var f foof.bar, tmp := 1, 2
}

参考答案及解析:编译错误:

non-name f.bar on left side of :=

:= 操作符不能用于结构体字段赋值。

4.下面的代码输出什么?

func main() {  fmt.Println(~2) 
}

参考答案及解析:编译错误。

invalid character U+007E '~'

很多语言都是采用 ~ 作为按位取反运算符,Go 里面采用的是 ^ 。按位取反之后返回一个每个 bit 位都取反的数,对于有符号的整数来说,是按照补码进行取反操作的(快速计算方法:对数 a 取反,结果为 -(a+1) ),对于无符号整数来说就是按位取反。例如:

func main() {var a int8 = 3var b uint8 = 3var c int8 = -3fmt.Printf("^%b=%b %d\n", a, ^a, ^a) // ^11=-100 -4fmt.Printf("^%b=%b %d\n", b, ^b, ^b) // ^11=11111100 252fmt.Printf("^%b=%b %d\n", c, ^c, ^c) // ^-11=10 2
}

另外需要注意的是,如果作为二元运算符,^ 表示按位异或,即:对应位相同为 0,相异为 1。例如:

func main() {var a int8 = 3var c int8 = 5fmt.Printf("a: %08b\n",a)fmt.Printf("c: %08b\n",c)fmt.Printf("a^c: %08b\n",a ^ c)
}

给大家重点介绍下这个操作符 &^,按位置零,例如:z = x &^ y,表示如果 y 中的 bit 位为 1,则 z 对应 bit 位为 0,否则 z 对应 bit 位等于 x 中相应的 bit 位的值。

不知道大家发现没有,我们还可以这样理解或操作符| ,表达式 z = x | y,如果 y 中的 bit 位为 1,则 z 对应 bit 位为 1,否则 z 对应 bit 位等于 x 中相应的 bit 位的值,与 &^ 完全相反。

var x uint8 = 214
var y uint8 = 92
fmt.Printf("x: %08b\n",x)     
fmt.Printf("y: %08b\n",y)       
fmt.Printf("x | y: %08b\n",x | y)     
fmt.Printf("x &^ y: %08b\n",x &^ y)

输出:

x: 11010110
y: 01011100
x | y: 11011110
x &^ y: 10000010
http://www.15wanjia.com/news/162427.html

相关文章:

  • 知乎 做网站的公司 中企动力推广赚钱的平台
  • 官方网站开发招标须知游戏开发 网站开发 难度
  • 重庆品牌网站建设流量宝
  • 做体育网站石碣镇做网站
  • wordpress 仿站vip企业管理培训课程
  • 深圳企业网站制作正确建设企业网站
  • 房地产网站建设公司网站常见错误
  • python做h5网站网站设计需求书
  • wordpress有没有ssrpanel网站建设优化服务公司
  • 做设计参考的网站聚财三个字公司名字
  • 查网站注册信息策划公司名称
  • 百度下载安装app天津seo排名公司
  • 内蒙古建设工程造价信息网seo网络推广怎么做
  • 南岸集团网站建设南昌市建设工程质量监督站网站
  • 福建省城乡建设官方网站设计师招聘
  • 网站开发交什么税和田地seo
  • 备案网站电子照幕布wordpress无法将上传的文件移动至
  • 自己开发微网站网上哪个网站教做西点
  • 网站整套模板wordpress 端口映射
  • 博白建设局网站下载建设银行官方网站下载
  • 摄影的网站设计特点wordpress中英文菜单
  • 网站模板使用教程黄冈网站建设报价表
  • 黑龙江能源建设网站网店代运营一年的费用是多少
  • 微信小程序 购物网站开发架构图在什么网站可以做
  • 涡阳网站优化wordpress 医院主题
  • 如何用微信做网站全国市场主体登记注册服务网
  • 网站建设运营的灵魂是什么重庆最新宣传片
  • wordpress生产静态页面php网站开发优化方案
  • 网站怎么做实名认证php做网站示例
  • 区块链 做网站成品网站1688入口网页版怎样