La définition de l'interface en langage Go : [type interface_name interface {method_name1 [return_type]}]. Une interface définit toutes les méthodes courantes. Tout autre type qui implémente ces méthodes implémentera cette interface.
L'environnement d'exploitation de cet article : système Windows10, Go 1.11.2, ordinateur Thinkpad T480.
Le langage Go fournit un autre type de données, l'interface, qui définit ensemble toutes les méthodes courantes. Tout autre type qui implémente ces méthodes implémentera cette interface.
Exemple :
/* 定义接口 */ type interface_name interface { method_name1 [return_type] method_name2 [return_type] method_name3 [return_type] ... method_namen [return_type] } /* 定义结构体 */ type struct_name struct { /* variables */ } /* 实现接口方法 */ func (struct_name_variable struct_name) method_name1() [return_type] { /* 方法实现 */ } ... func (struct_name_variable struct_name) method_namen() [return_type] { /* 方法实现*/ }
Exemple :
package main import ( "fmt" ) type Phone interface { call() } type NokiaPhone struct { } func (nokiaPhone NokiaPhone) call() { fmt.Println("I am Nokia, I can call you!") } type IPhone struct { } func (iPhone IPhone) call() { fmt.Println("I am iPhone, I can call you!") } func main() { var phone Phone phone = new(NokiaPhone) phone.call() phone = new(IPhone) phone.call() }
Dans l'exemple ci-dessus, nous avons défini une interface Phone, qui possède une méthode call(). Ensuite, nous avons défini une variable de type de téléphone dans la fonction principale et l'avons attribuée respectivement à NokiaPhone et IPhone. Appelez ensuite la méthode call() et le résultat de sortie est le suivant :
I am Nokia, I can call you! I am iPhone, I can call you!
Recommandations associées : tutoriel golang
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!