8

Go 语言笔试面试题(代码输出)

 2 years ago
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

golang interview questions

Go 语言笔试面试题汇总Github

常量与变量

  1. 下列代码的输出是:
func main() {
const (
a, b = "golang", 100
d, e
f bool = true
g
)
fmt.Println(d, e, g)
}

答案

  1. 下列代码的输出是:
func main() {
const N = 100
var x int = N

const M int32 = 100
var y int = M
fmt.Println(x, y)
}

答案

  1. 下列代码的输出是:
func main() {
var a int8 = -1
var b int8 = -128 / a
fmt.Println(b)
}

答案

  1. 下列代码的输出是:
func main() {
const a int8 = -1
var b int8 = -128 / a
fmt.Println(b)
}

答案

  1. 下列代码的输出是:
func main() {
var err error
if err == nil {
err := fmt.Errorf("err")
fmt.Println(1, err)
}
if err != nil {
fmt.Println(2, err)
}
}

答案

defer 延迟调用

  1. 下列代码的输出是:
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)
}

答案

  1. 下列代码的输出是:
func f(n int) {
defer fmt.Println(n)
n += 100
}

func main() {
f(1)
}

答案

  1. 下列代码的输出是:
func main() {
n := 1
defer func() {
fmt.Println(n)
}()
n += 100
}

答案

  1. 下列代码的输出是:
func main() {
n := 1
if n == 1 {
defer fmt.Println(n)
n += 100
}
fmt.Println(n)
}

答案


专题: Go 语言面试题

本文发表于 2020-10-10,最后修改于 2022-04-21。

本站永久域名「 geektutu.com 」,也可搜索「 极客兔兔 」找到我。


上一篇 « 动手写RPC框架 - GeeRPC第七天 服务发现与注册中心(registry) 下一篇 » Python 简明教程


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK