意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

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

来源:恒创科技 编辑:恒创科技编辑部
2024-01-31 21:44:59

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

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

packagemain
var(
size:=1024
max_size=size*2
)
funcmain(){
println(size,max_size)
}

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


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

结果:

syntaxerror:unexpected:=

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

packagemain
constcl=100

varbl=123

funcmain(){
println(&bl,bl)
println(&cl,cl)
}

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

cannottaketheaddressofcl

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

package main

func main() {

fori:=0;i<10;i++{
loop:
println(i)
}
gotoloop

}

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

gotoloopjumpsintoblockstartingat

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

packagemain
import"fmt"

funcmain(){
typeMyInt1int
typeMyInt2=int
variint=9
vari1MyInt1=i
vari2MyInt2=i
fmt.Println(i1,i2)
}

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

结果:

cannotusei(typeint)astypeMyInt1inassignment

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

packagemain
import"fmt"

typeUserstruct{
}
typeMyUser1User
typeMyUser2=User
func(iMyUser1)m1(){
fmt.Println("MyUser1.m1")
}
func(iUser)m2(){
fmt.Println("User.m2")
}

funcmain(){
vari1MyUser1
vari2MyUser2
i1.m1()
i2.m2()
}

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

i1.m2()

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

MyUser1.m1
User.m2

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

上一篇: WebSphere面试题有哪些 下一篇: 手机怎么远程登录云服务器?