Go 语言面试题 100 讲之 027篇:所有的 T 类型都有 *T 类型吗?

作者: 王炳明 分类: Golang 面试题 发布时间: 2021-09-20 17:09 热度:1,526

查看完整目录 –>《Go 语言面试题 100 讲


*T 类型的对象指的是类型是 T 的对象的指针,很明显,只有当 T 类型的对象,是可以寻址的情况,才可以取到其指针。

诸如字符串、map 的元素、常量、包级别的函数,都是不可寻址的,它们都没有对应的 *T 类型

随便举个常量的例子

package main

import "fmt"

type T string

func (T *T) say() {
    fmt.Println("hello")
}

func main() {
    const NAME T = "iswbm"
    NAME.say()
}

报错如下

./demo.go:13:6: cannot call pointer method on NAME
./demo.go:13:6: cannot take the address of NAME

文章有帮助,请作者喝杯咖啡?

发表评论