Interfaces
Go dilinde interface
, bir veya birden fazla metodun belirli bir imza setini tanımlayan bir veri tipidir. Bu imza seti, bir veri tipinin hangi metodları uygulaması gerektiğini belirtir. Bu nedenle, interface
'ler, bir veri tipinin hangi özelliklere sahip olduğunu tanımlamak için kullanılır.
Örneğin, bir şeklin alanını hesaplamak için area
adlı bir fonksiyon tanımlamış olsunuz. Kare, daire ve dikdörtgen gibi farklı şekiller, area
fonksiyonunu farklı şekillerde uygular. Bu durumda, her bir şeklin alanını hesaplamak için ayrı ayrı fonksiyonlar tanımlamak yerine, interface
kullanarak hepsini aynı türdeki bir veri tipinde toplayabilirsiniz.
Bu örnekte, Shape
adlı bir interface
tanımlanır ve area
adlı bir fonksiyon imzası belirtilir. Circle
, Rectangle
ve Square
adlı üç farklı yapı tanımlanır ve her biri area
adlı bir fonksiyona sahiptir.
getArea
adlı bir fonksiyon tanımlanır ve parametresi Shape
türündedir. Bu fonksiyon, alanı hesaplanacak şekil verisini alır ve area
fonksiyonu çağrılarak şeklin alanını hesaplar.
main
fonksiyonunda, örnek olarak circle
, rectangle
ve square
adlı üç farklı değişken oluşturulur. Bu değişkenlerin her biri getArea
fonksiyonuna parametre olarak verilir ve her bir şeklin alanı hesaplanarak ekrana yazdırılır.
Çıktı:
Last updated