GO语言101问(6)

1.通过指针变量p访问其成员变量name,有哪几种方式?

A p.name 

B (&p).name

C (*p).name

D p->name

答案是:AC,&表示取地址,*表示解引用,D答案是C语言中的用法。

2.下面这段代码能否通过编译?如果通过,输出什么?

package main

import "fmt"

type MyInt1 int
type MyInt2 int

func main() {
	var i int = 0
	var i1 MyInt1 = i
	var i2 MyInt2 = i
	fmt.Println(i1, i2)
}

答案是不能通过编译,代码先声明了两个新的类型,虽然他们本质上是int,但是Go语言是强类型语言,他会认为int和MyInt1、MyInt2不是同一种类型,因此是不能给i1和i2赋值int类型的i,运行会报类型不匹配的错误。

猜你喜欢

转载自blog.csdn.net/random_w/article/details/103120706