D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
3206095
/
root
/
opt
/
golang
/
1.22.0
/
src
/
internal
/
types
/
testdata
/
check
/
Filename :
cycles1.go
back
Copy
// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package p type ( A interface { a() interface { ABC1 } } B interface { b() interface { ABC2 } } C interface { c() interface { ABC3 } } AB interface { A B } BC interface { B C } ABC1 interface { A B C } ABC2 interface { AB C } ABC3 interface { A BC } ) var ( x1 ABC1 x2 ABC2 x3 ABC3 ) func _() { // all types have the same method set x1 = x2 x2 = x1 x1 = x3 x3 = x1 x2 = x3 x3 = x2 // all methods return the same type again x1 = x1.a() x1 = x1.b() x1 = x1.c() x2 = x2.a() x2 = x2.b() x2 = x2.c() x3 = x3.a() x3 = x3.b() x3 = x3.c() }