Goder

Sample [TR] : GOLang ile Enum Kullanımı

Introduction

Cihan Özhan

Cihan Özhan

Hakkımda bilgi içeren blog sayfam; http://www.cihanozhan.com/cihan-ozhan/


LATEST POSTS

Sample [TR] : GOLang ile Inheritance ve Interface Kullanımı 31st October, 2016

Sample [TR] : GOLang ile Metot ve İç İçe Struct Kullanımı 30th October, 2016

Sample

Sample [TR] : GOLang ile Enum Kullanımı

Posted on .

Merhaba Gopher’lar,

Bir çok programlama dilinde işimizi kolaylaştıran basit ama etkili bir tip vardır ki bu Enum’dır. Genellikle sınırlı sayıda seçeneğe sahip ve programatik olarak bu seçenekleri ve ona atanan veriyi kullanmak için yazılıma dahil edilen basit sabit listelerdir denebilir. Tabi sabitliği bir nebze esnek hale getirilerek dinamik şekil alabiliyor ancak yapısal olarak sabittir. Tanımlama kısmında belirli enum değerleri oluşturur sonra basit şekilde kullanırsınız. Örneğin bir metod da dışarıdan bir marka değeri alacaksınız. Bu marka için girilmesi gereken değer ‘Microsoft’ şeklinde doğru yazılmış bir değer olması gerekirken kullanıcı ya da metoda erişen yazılımcı ‘microsoft’, ‘MİCROSOFT’ vb. şeklinde doğru veri ancak büyük-küçük harf duyarlılığı nedeniyle aranan değeri bulamayacak bir kullanım söz konusu olabilir. Tabi ki marka diye alakasız bir veri girilme durumunu hiç saymıyorum bile… Sonuç olarak kullanıcıdan string almanız gerekecektir. Böyle bir sorunu bir enum tanımlayarak rahatlıkla çözebilirsiniz. Verdiğim C# eğitimlerinde bunun için güzel bir örnek veriyorum ancak konumuz şuan enum değil GO dilinde enum kullanımı olduğundan doğrudan konuya giriyorum.

GO ile Enum kullanımı kodları aşağıdaki gibidir;

package main

import "fmt"

type Brand string

const (
	FACEBOOK  Brand = "Facebook"
	MICROSOFT Brand = "Microsoft"
	GOOGLE    Brand = "Google"
	DIJIBIL   Brand = "Dijibil"
)

func PrintBrand(brand Brand) {
	fmt.Println(brand)
}

func main() {

	PrintBrand(GOOGLE)
	PrintBrand(DIJIBIL)

	// Compile Error : undefined: VERIZON
	// PrintBrand(VERIZON)

	// Compile error : cannot use 25 (type int) as type Brand in function argument
	// PrintBrand(25)

}

Kaynak : http://www.cihanozhan.com/golang-ile-enum-kullanimi

Cihan Özhan

Cihan Özhan

http://www.cihanozhan.com

Hakkımda bilgi içeren blog sayfam; http://www.cihanozhan.com/cihan-ozhan/

There are no comments.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

View Comments (0) ...
Navigation