8
Go 语言笔试面试题(代码输出)
source link: https://geektutu.com/post/qa-golang-c1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Go 语言笔试面试题(代码输出)
源代码/数据集已上传到 Github - interview-questions
常量与变量
- 下列代码的输出是:
func main() {
const (
a, b = "golang", 100
d, e
f bool = true
g
)
fmt.Println(d, e, g)
}
答案
- 下列代码的输出是:
func main() {
const N = 100
var x int = N
const M int32 = 100
var y int = M
fmt.Println(x, y)
}
答案
- 下列代码的输出是:
func main() {
var a int8 = -1
var b int8 = -128 / a
fmt.Println(b)
}
答案
- 下列代码的输出是:
func main() {
const a int8 = -1
var b int8 = -128 / a
fmt.Println(b)
}
答案
- 下列代码的输出是:
func main() {
var err error
if err == nil {
err := fmt.Errorf("err")
fmt.Println(1, err)
}
if err != nil {
fmt.Println(2, err)
}
}
答案
defer 延迟调用
- 下列代码的输出是:
type T struct{}
func (t T) f(n int) T {
fmt.Print(n)
return t
}
func main() {
var t T
defer t.f(1).f(2)
fmt.Print(3)
}
答案
- 下列代码的输出是:
func f(n int) {
defer fmt.Println(n)
n += 100
}
func main() {
f(1)
}
答案
- 下列代码的输出是:
func main() {
n := 1
defer func() {
fmt.Println(n)
}()
n += 100
}
答案
- 下列代码的输出是:
func main() {
n := 1
if n == 1 {
defer fmt.Println(n)
n += 100
}
fmt.Println(n)
}
答案
上一篇 « 动手写RPC框架 - GeeRPC第七天 服务发现与注册中心(registry) 下一篇 » Python 简明教程
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK