高防服务器

2021年Go语言的最新面试题有哪些


2021年Go语言的最新面试题有哪些

发布时间:2022-01-18 08:25:23 来源:高防服务器网 阅读:76 作者:iii 栏目:云计算

本篇内容介绍了“2021年Go语言的最新面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、编译执行下面代码会出现什么?

package main  var(      size :=1024      max_size = size*2  )  func main()  {      println(size,max_size)  }

解析 考点:变量简短模式 变量简短模式限制: – 定义变量同时显式初始化 – 不能提供数据类型 – 只能在函数内部使用

结果:

syntax error: unexpected :=

2、下面函数有什么问题?

package main  const cl  = 100    var bl    = 123    func main()  {      println(&bl,bl)      println(&cl,cl)  }

解析 考点:常量 常量不同于变量的在运行期分配内存,常量通常会被编译器在预处理阶段直接展开,作为指令数据使用,

cannot take the address of cl

3、编译执行下面代码会出现什么?

package main

func main() {

for i:=0;i<10 ;i++  {  loop:      println(i)  }  goto loop

}

解析 考点:goto goto不能跳转到其他函数或者内层代码

goto loop jumps into block starting at

4、编译执行下面代码会出现什么?

package main  import "fmt"    func main()  {      type MyInt1 int      type MyInt2 = int      var i int =9      var i1 MyInt1 = i      var i2 MyInt2 = i      fmt.Println(i1,i2)  }

解析 考点:Go 1.9 新特性 Type Alias 基于一个类型创建一个新类型,称之为defintion;基于一个类型创建一个别名,称之为alias。 MyInt1为称之为defintion,虽然底层类型为int类型,但是不能直接赋值,需要强转; MyInt2称之为alias,可以直接赋值。

结果:

cannot use i (type int) as type MyInt1 in assignment

5、编译执行下面代码会出现什么?

package main  import "fmt"    type User struct {  }  type MyUser1 User  type MyUser2 = User  func (i MyUser1) m1(){      fmt.Println("MyUser1.m1")  }  func (i User) m2(){      fmt.Println("User.m2")  }    func main() {      var i1 MyUser1      var i2 MyUser2      i1.m1()      i2.m2()  }

解析 考点:Go 1.9 新特性 Type Alias 因为MyUser2完全等价于User,所以具有其所有的方法,并且其中一个新增了方法,另外一个也会有。 但是

i1.m2()

是不能执行的,因为MyUser1没有定义该方法。 结果:

MyUser1.m1  User.m2

“2021年Go语言的最新面试题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注高防服务器网网站,小编将为大家输出更多高质量的实用文章!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[