面试题笔试题学习日记——golang(8.01)

声明一个整型变量i var i int

声明一个含有10个元素的整型数组a var a [10]int

声明一个整型数组切片a var s []int

声明一个整型指针变量p var p *int

声明一个key为字符串型value为整型的map变量m var m map[string]int

声明一个入参和返回值均为整数的函数变量f var f func(a int) int

声明一个用于读取int数据的单向channel变量ch var ch <-chan int

假设源文件命名为slice.go,则测试文件命名为 slice_test.go

go test要求测试函数的前缀必须命名为 Test

下面的程序的运行结果是

for i := 0;i < 5; i++ {
	defer fmt.Print("%d", i)
}

43210

下面的程序的运行结果是

func main() {
	x := 1
	{
		x := 2
		fmt.Print(x)
	}
	fmt.Println(x)
}

21

下面的程序的运行结果是

func main() {
	strs := []string{"one","two","three"}
	for _, s := range strs {
		go func() {
			time.Sleep(1 * time.Second)
			fmt.Printf("%s", s)
		}()
	}
	time.Sleep(3 * time.Second)
}

three three three

下面的程序的运行结果是

func main() {
	x := []string{"a","b","c"}
	for _, v := range x {
		fmt.Print(v)
	}
}

abc

下面的程序的运行结果是

func main() {
	i := 1
	j := 2
	i, j = j, i
	fmt.Printf("%d, %d\n", i, j)
}

21

下面的程序的运行结果是

func incr(p *int) {
	*p++
	return *p
}
func main() {
	v := 1
	incf(*v)
	fmt.Println(v)
}

2

启动一个goroutine的关键字是 go

下面的程序的运行结果是

type Slice []int

func NewSlice() Slice {
	return make(Slice, 0)
}

func (s *Slice) Add(elem int) *Slice {
	*s = append(*s, elem)
	fmt.Print(elem)
	return s
}

func main() {
	s := NewSlice()
	defer s.Add(1).Add(2)
	s.Add(3)
}

132

猜你喜欢

转载自blog.csdn.net/qq_37109456/article/details/107738797
今日推荐