0
尚上
interface{}本身是type,怎么可以赋值呢? 只可能出现: ``` var v1 interface1 var v2 interface2 v1 = v2 ```
发表于 2018-01-21 22:36:28
回复(0)
更多回答
23
程序猿Go师傅
A:拥有相同方法列表,那么两个接口实质上同一个接口 B:A是B的子集,意味着A的方法B中都有,那么A是B的基类,所以A=B是可行的 C:接口是否能够调用成功是需要运行的时候才能知道 D:接口赋值是否可行在编译阶段就可以知道
编辑于 2019-10-21 16:54:24
回复(2)
18
MelodyZ
接口查询实则是类型断言判断,形式常常如下: val, ok := interfaceName.(TypeName) 判断是否在编译期就能判断,就看写代码的时候GO编辑器会不会提示错误。 * 在接口类型进行赋值操作时,若类型不匹配,则编辑器就会提示错误,因此接口赋值操作是在编译期确定的 * 而接口类型查询(断言操作),编译器是不会提示错误的,因此需要等到运行期才能确定。
发表于 2019-08-20 13:12:14
回复(1)
12
牛客143068号
只要两个接口拥有相同的方法列表(次序不同不要紧),那么它们就是等价的,可以相互赋值。 Go语言接口是否可以赋值,是在编译期就确定的。接口的查询是在运行期确定。
编辑于 2018-04-16 20:30:25
回复(3)
4
正在找工作的阿浩2020
发表于 2019-05-31 11:58:47
回复(1)
2
Spiderspiders
Go语言接口是否可以赋值,是在编译期就确定的。接口的查询是在运行期确定。
发表于 2018-02-08 10:04:52
回复(0)
1
走位崴了脚
C选项,在Go语言中,接口查询(Interface Query)通常指的是通过接口类型来检查一个变量是否实现了某个接口,并获取该接口的具体类型和值。这在Go语言中通常通过类型断言(Type Assertion)或类型选择(Type Switch)来实现。 类型断言 value, ok := interfaceVariable.(Type) 类型选择 switch value := interfaceVariable.(type) {
case Type1:
// 处理 Type1
case Type2:
// 处理 Type2
default:
// 处理其他类型
}
value, ok := interfaceVariable.(Type)
发表于 2025-02-10 11:16:20
回复(0)
1
黎明前的曙光201807141058877
最后一题做完了,题目太少了,果然java才是第一语言吗😂
发表于 2019-07-04 16:43:19
回复(0)
0
牛马djsadaj
讨论一下b吧:接口a是接口b的子集,意味着实现了接口b就实现了接口a——于是乎接口b可以赋值给接口a。反之则不然,实现了了接口a不一定实现接口b,那自然不能赋值
发表于 2024-10-27 23:59:44
回复(0)
0
好运在我
在接口类型进行赋值操作时,若类型不匹配,则编辑器就会提示错误,因此接口赋值操作是在编译期确定的 而接口类型查询(断言操作),编译器是不会提示错误的,因此需要等到运行期才能确定。
发表于 2024-09-13 17:55:00
回复(0)
0
清欢~
go里面没有引用传递,只有值传递,nil只能赋值给指针类型,因为map slice chan 这三个本身在堆上分配,所以分配完的结果就是个指针,借口可以代指任意类型,所以也可以接受指针
发表于 2022-05-15 17:37:16
回复(0)
0
牛客696935965号
接口直接赋值竟然不用转换
发表于 2021-07-08 23:46:23
回复(0)
0
牛客828278220号
接口查询应该就是类型断言的意思吧,这个要在运行时才能确定 接口赋值在编译期间就能确定
发表于 2020-11-12 16:01:51
回复(0)
0
我不道啊
D选项,在编译过程中,就会进行类型判断
发表于 2020-04-12 15:56:13
回复(0)
0
_向offer冲锋-
接口是否可以赋值是在编译期决定的
发表于 2019-12-28 11:43:04
回复(0)
0
ckx0709
接口可以直接赋值是什么意思?是指接口参数的类型还是返回值的类型?
发表于 2019-06-02 22:09:21
回复(0)
0
花花是我女鹅
什么是接口查询?
发表于 2019-02-23 08:55:50
回复(1)
0
young205
b是什么意思
发表于 2019-02-01 10:52:25
回复(1)