Golangda operatörler nasıl kullanılır

Operatörler her programlama dilinin temelini oluşturur. Dolayısıyla Golang dilinin işlevselliği operatörler kullanılmadan eksik kalır. Operatörler, operandlar üzerinde farklı tipte işlemler yapmamızı sağlar. Go dilinde operatörler farklı işlevlerine göre sınıflandırılabilir .

Golang'da operatörler nasıl kullanılır

Aritmetik operatörler

Bu operatörler Go dilinde operandlar üzerinde işlem yapmak için kullanılır:

  • Toplama: '+' iki işleneni toplar. Örneğin: x+y.
  • Çıkarma: '-' iki işleneni çıkarır. Örnek: xy.
  • Çarpma: '*' iki işleneni çarpar. Örneğin: x*y.
  • Bölme: '/' ilk işleneni ikinci işlenene böler. Örneğin: x/y.
  • Kalan: '%' operatörü, ilk işlenenin ikinci işlenene bölünmesiyle kalanı döndürür. Örneğin: x%y.

 Not: -, +, !, &, *, <- ve ^ aynı zamanda tekli operatörler olarak da adlandırılır ve tekli operatörlerin önceliği daha yüksektir. ++ ve — operatörleri ifadelerden gelir, ifade değildir, dolayısıyla operatör hiyerarşisinin dışında yer alırlar.

Örneğin:

//Minh họa chương trình Go dùng toán tử số học
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// Phép cộng
result1:= p + q 
fmt.Printf("Result of p + q = %d", result1) 
	
// Phép trừ
result2:= p - q 
fmt.Printf("\nResult of p - q = %d", result2) 
	
// Phép nhân
result3:= p * q 
fmt.Printf("\nResult of p * q = %d", result3) 
	
// Division 
result4:= p / q 
fmt.Printf("\nResult of p / q = %d", result4) 
	
// Modulus 
result5:= p % q 
fmt.Printf("\nResult of p %% q = %d", result5) 
} 

Sonuç:

Kết quả của p + q = 54
Kết quả của p - q = 14
Kết quả của p * q = 680
Kết quả của p / q = 1
Kết quả của p % q = 14

İlişkisel Operatörler

İlişkisel operatörler iki değeri karşılaştırmak için kullanılır. Her operatöre tek tek bakalım:

  • '=='(Eşittir) operatörü, verilen iki işlenenin eşit olup olmadığını kontrol eder. Eşit ise true değerini döndürür. Aksi takdirde false döner. Örneğin, 5==5 true değerini döndürecektir.
  • '!='(Eşit değildir) operatörü, verilen iki işlenenin eşit olup olmadığını kontrol eder. Aksi takdirde true döner. Aksi takdirde false döner. Bu, '==' operatörünün tam Boole tamamlayıcısıdır. Örneğin, 5!=5 false değerini döndürecektir.
  • '>'(Büyüktür) operatörü, ilk işlenenin ikinci işlenenden büyük olup olmadığını kontrol eder. Daha büyükse true değerini döndürür. Daha az ise false döndürür. Örneğin 6>5 true değerini döndürecektir.
  • '<'(küçüktür) operatörü, ilk işlenenin ikinci işlenenden küçük olup olmadığını kontrol eder. Daha az ise true döner. Aksi takdirde false döner. Örneğin, <5 şunu döndürecektir:
  • '>='(Büyüktür eşittir) operatörü, ilk işlenenin ikinci işlenenden büyük veya eşit olup olmadığını kontrol eder. Büyük veya eşitse true değerini döndürür. Küçük veya eşitse false döndürür. Örneğin: 5>=5 true değerini döndürecektir.
  • '<='(küçük veya eşit) operatörü, ilk işlenenin ikinci işlenenden küçük veya eşit olup olmadığını kontrol eder. Büyük veya eşitse true değerini döndürür. Küçük veya eşitse false döndürür. Örneğin: <=5 de dönecektir

Örneğin:

// Minh họa chương trình Go dùng toán tử quan hệ
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// ‘=='(Equal To) 
result1:= p == q 
fmt.Println(result1) 
	
// ‘!='(Not Equal To) 
result2:= p != q 
fmt.Println(result2) 
	
// ‘<‘(less than)="" result3:="p">< q="" fmt.println(result3)="" ‘="">'(Greater Than) 
result4:= p > q 
fmt.Println(result4) 
	
// ‘>='(Greater Than Equal To) 
result5:= p >= q 
fmt.Println(result5) 
	
// ‘<='(less than="" equal="" to)="" result6:="p"><= q="" fmt.println(result6)="" }="">

Sonuç:

false
true
false
true
true
false

Mantıksal operatörler

İki veya daha fazla koşulu/kısıtlamayı birleştirmek veya dikkate alınan ilk koşulun değerlendirmesini tamamlamak için kullanılırlar.

  • VE: '&&' operatörü, ele alınan her iki koşul da sağlandığında doğru değerini döndürür. Aksi takdirde false döner. Örneğin, a && b, hem a hem de b doğru olduğunda (yani sıfırdan farklı olduğunda) doğru değerini döndürür.
  • VEYA: Operatör '||' İncelenen koşullardan biri (veya her ikisi) karşılandığında doğru döner. Aksi takdirde false döner. Örneğin: a || b, a veya b'den biri doğruysa (yani sıfırdan farklıysa) doğruyu döndürür. Elbette hem a hem de b doğru olduğunda true değerini döndürür.
  • Mantıksal HAYIR: '!' Operatör İncelenen koşul sağlanmadığında true değerini döndürür. Aksi takdirde false döner. Örneğin: !a, a yanlışsa, yani a = 0 olduğunda true değerini döndürür.

Örneğin:

// Minh họa chương trình Go dùng toán tử logic
package main 
import "fmt"
func main() { 
	var p int = 23
	var q int = 60
		
	if(p!=q && p<=q){ fmt.println("true")="" }="" if(p!="q" ||=""><=q){ fmt.println("true")="" }="" if(!(p="=q)){" fmt.println("true")="" }="" }="">

Sonuç:

True
True
True

Bitsel operatörler

Go dilinde, bit seviyesinde işlem yapan veya bit-bit işlemleri gerçekleştirmek için kullanılan 6 adet bitsel operatör bulunmaktadır. Aşağıda bitsel operatörler verilmiştir:

  • & (bit düzeyinde VE): İşlenen olarak iki sayı alır ve iki sayının her biti üzerinde VE işlemini gerçekleştirir. AND işleminin sonucu yalnızca her iki bit de 1 ise 1 olur.
  • | (bit düzeyinde VEYA): İki sayıyı işlenen olarak alır ve iki sayının her biti üzerinde VEYA işlemini gerçekleştirir. İki bitten herhangi biri 1 ise VEYA işleminin sonucu 1 olur.
  • ^ (bit düzeyinde XOR): İşlenen olarak iki sayı alır ve iki sayının her biti üzerinde XOR gerçekleştirir. İki bit farklıysa XOR'un sonucu 1'dir.
  • < (sola kaydır): iki sayı alır, ilk işlenenin bitlerini sola kaydırır, ikinci işlenen kaydırılacak konum sayısını belirler
  • >> (sağa kaydırma): İki sayı al, ilk işlenenin bitlerini sağa kaydır, ikinci işlenen kaydırılacak konum sayısını belirler.
  • &^ (VE DEĞİL): Bu açık bir bitsel operatördür.

Örneğin:

// Minh họa chương trình Go dùng toán tử bitwise
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// & (bitwise AND) 
result1:= p & q 
fmt.Printf("Result of p & q = %d", result1) 
	
// | (bitwise OR) 
result2:= p | q 
fmt.Printf("\nResult of p | q = %d", result2) 
	
// ^ (bitwise XOR) 
result3:= p ^ q 
fmt.Printf("\nResult of p ^ q = %d", result3) 
	
// < (left="" shift)="" result4:="p">< 1="" fmt.printf("\nresult="" of="" p="">< 1="%d" ,"="" result4)="">> (right shift) 
result5:= p >> 1
fmt.Printf("\nResult of p >> 1 = %d", result5) 
	
// &^ (AND NOT) 
result6:= p &^ q 
fmt.Printf("\nResult of p &^ q = %d", result6) 
	
	
} 

Sonuç:

Kết quả của p & q = 0
Kết quả của p | q = 54
Kết quả của p ^ q = 54
Kết quả của p < 1="68" kết="" quả="" của="" p="">> 1 = 17
Kết quả của p &^ q = 34

Atama Operatörü

Atama operatörü bir değişkene değer atamak için kullanılır. Atama operatörünün sol işleneni bir değişkendir ve atama operatörünün sağ işleneni bir değerdir. Sağdaki değerin soldaki değişkenle aynı veri tipine sahip olması gerekir, aksi takdirde derleyici hata döndürür. Aşağıda farklı tipteki atama operatörleri gösterilmektedir:

  • “="(Basit atama): Bu en basit atama operatörüdür. Bu operatör sağdaki değeri soldaki değişkene atamak için kullanılır.
  • “+=”(Ek atama): Bu operatör, '+' ve '=' operatörlerinin birleşimidir. Bu operatör önce sol değişkenin geçerli değerini sağ değişkenin değerine ekler ve ardından sonucu sol değişkene atar.
  • “-=”(Eksi Atama): Bu operatör, '-' ve '=' operatörlerinin birleşimidir. Bu operatör önce sol değişkenin geçerli değerini sağ değişkenin değerinden çıkarır ve ardından sonucu sol değişkene atar.
  • “*="(Çarpma Atama): Bu operatör '*' ve '=' operatörlerinin birleşimidir. Bu operatör önce soldaki değişkenin geçerli değerini sağdaki değerle çarpar ve ardından sonucu soldaki değişkene atar.
  • “/=”(Bölme ataması): Bu operatör '/' ve '=' operatörlerinin birleşimidir. Bu operatör önce soldaki değişkenin geçerli değerini sağdaki değere böler ve ardından sonucu soldaki değişkene atar.
  • “%=”(Kalan atama): Bu operatör, '%' ve '=' operatörlerinin birleşimidir. Bu operatör önce sol değişkenin geçerli değerinden kalanını sağdaki değere göre alır ve ardından sonucu sol değişkene atar.
  • “&=”(Bitsel VE): Bu operatör, '&' ve '=' operatörlerinin birleşimidir. Bu operatör önce sol değişkenin geçerli değerini sağdaki değere "bit düzeyinde VE" uygular ve ardından sonucu sol değişkene atar.
  • “^=”(Bit düzeyinde özel VEYA): Bu operatör, '^' ve '=' operatörlerinin birleşimidir. Bu operatör önce sol değişkenin geçerli değerini sağ değişkenin değeriyle “Bitwise Exclusive OR” işlemine tabi tutar ve ardından sonucu sol değişkene atar.
  • "|="(Bit düzeyinde kapsayıcı VEYA): Bu operatör, '|' operatörler ve '='. Bu operatör önce sol değişkenin geçerli değerini sağ değişkenin değeriyle “Bitsel Dahil VEYA” işlemine tabi tutar ve ardından sonucu sol değişkene atar.
  • “<=: Bu operatör, < ' ve '="' operatörlerinin birleşimidir ." Bu operatör, önce soldaki değişkenin geçerli değerini sağdaki değer kadar “kaydırır” ve ardından sonucu sağdaki değişkene atar.
  • “>>=”: Bu operatör '>>' ve '=' operatörlerinin birleşimidir. Bu operatör önce sol değişkenin geçerli değerini sağdaki değerle “Sağa Kaydırma” işlemine tabi tutar ve ardından sonucu sol değişkene atar.

Örneğin:

// Minh họa chương trình Go dùng toán tử gán
package main 
	
import "fmt"
	
func main() { 
var p int = 45
	var q int = 50
	
// “=”(Simple Assignment) 
p = q 
fmt.Println(p) 
	
// “+=”(Add Assignment) 
	p += q 
fmt.Println(p) 
	
//“-=”(Subtract Assignment) 
p-=q 
fmt.Println(p) 
	
// “*=”(Multiply Assignment) 
p*= q 
fmt.Println(p) 
	
// “/=”(Division Assignment) 
	p /= q 
fmt.Println(p) 
	
	// “%=”(Modulus Assignment) 
	p %= q 
fmt.Println(p) 
	
} 

Sonuç:

50
100
50
2500
50
0

Diğer operatörler

  • &: Bu operatör bir değişkenin adresini döndürür.
  • *: Bu operatör bir değişkene işaretçi sağlar.
  • <-: Bu operatörün adı receive'dır. Bir değeri almak için kullanılır
// Minh họa chương trình sử dụng toán tử khác
package main 
	
import "fmt"
	
func main() { 
a := 4
	
// Dùng địa chỉ của toán tử (&) toán tử trỏ gián tiếp (*)

b := &a 
fmt.Println(*b) 
*b = 7
fmt.Println(a) 
} 

Sonuç:

4
7

Leave a Comment

Golangda sabitler nasıl kullanılır

Golangda sabitler nasıl kullanılır

Golang'da Constant veya Const nedir? Go'da sabitlerin kullanımı hakkında bilmeniz gerekenler şunlardır.

Golangda değişken fonksiyonlar

Golangda değişken fonksiyonlar

Go'daki değişkenli fonksiyonlar, bir fonksiyona değişken sayıda argüman geçirmenize olanak tanır. Golang'daki değişken fonksiyonlar hakkında bilmeniz gereken her şey burada.

Golangda adlandırılmış dönüş parametreleri

Golangda adlandırılmış dönüş parametreleri

Golang'da adlandırılmış dönüş parametrelerine sıklıkla adlandırılmış parametreler denir. Golang, fonksiyonların dönüş parametrelerinin veya sonuçlarının fonksiyon imzasında veya tanımında isimlendirilmesine olanak tanır.

Godaki Anahtar Sözcükler

Godaki Anahtar Sözcükler

Anahtar Kelime - Anahtar kelimeler, bir dildeki bazı iç işlemler için kullanılan veya önceden tanımlanmış bazı eylemleri temsil eden kelimelerdir. Golang'da anahtar kelimeler hakkında bilmeniz gerekenler şunlardır.

Golangdaki veri türleri

Golangdaki veri türleri

Veri türü, geçerli bir Go değişkeninin içerebileceği veri türünü belirtir. Go dilinde tipler aşağıdaki gibi dört kategoriye ayrılır:

Golangda fonksiyon argümanları

Golangda fonksiyon argümanları

Go, argümanları geçirmenin iki ana yolunu destekler: Değere göre geçirme ve Referansa göre geçirme. Go varsayılan olarak pass by value'yu kullanır.

Golangda birden fazla değer döndüren fonksiyon

Golangda birden fazla değer döndüren fonksiyon

Go dilinde return ifadesi kullanılarak bir fonksiyondan birden fazla değer döndürülebilir. Başka bir deyişle, bir fonksiyon içerisinde return ifadesi birden fazla değer döndürebilir.

Goda Switch İfadesi

Goda Switch İfadesi

Golang'da diğer programlama dillerinin çoğunda olduğu gibi switch ifadesi bulunmaktadır. Golang'da switch ifadesinin nasıl kullanılacağını burada bulabilirsiniz.

Golangda seçim ifadeleri kullanılırken bilinmesi gereken durumlar

Golangda seçim ifadeleri kullanılırken bilinmesi gereken durumlar

Bu yazımızda çıkmazdan kaçınmak için varsayılan durumun nasıl kullanılacağını öğreneceğiz. Ama önce Golang select komutunu kullanırken deadlock durumunun ne olduğunu öğrenelim.

Golangdaki anonim yapılar ve alanlar

Golangdaki anonim yapılar ve alanlar

Golang'daki anonim yapılar, tek seferlik amaçlar için kullanılan, isimlendirilmemiş geçici yapılardır; anonim alanlar ise isimlendirilmemiş alanların gömülmesine olanak tanır.

Golangda Rune nasıl kullanılır

Golangda Rune nasıl kullanılır

Golang'da Rünler Nelerdir? Golang'da Rune nasıl kullanılır? Cevabını makalemizde bulacaksınız.

Golangda boşluk tanımlayıcısı

Golangda boşluk tanımlayıcısı

Golang'da _(alt çizgi) Boş Tanımlayıcı olarak adlandırılır. Tanımlayıcı, tanımlama amacıyla kullanılan program bileşenlerinin kullanıcı tarafından tanımlanan adıdır.

Golangda temel program nasıl oluşturulur

Golangda temel program nasıl oluşturulur

Selam Dünya! Herhangi bir programlama dilindeki ilk temel programdır. Aşağıdaki adımları izleyerek Golang'da ilk programınızı yazabilirsiniz.

Goyu Windowsa Nasıl Yüklerim

Goyu Windowsa Nasıl Yüklerim

Golang Windows'a kolaylıkla kurulabilir. Aşağıda Golang'ı Windows'a yüklemeye ilişkin ayrıntılı adım adım bir kılavuz bulunmaktadır.

Microsoft Teams Lisans Hatası Giderme

Microsoft Teams Lisans Hatası Giderme

Microsoft Teams'te "Lisans Hatası" ile mi karşılaşıyorsunuz? Lisans sorunlarını hızlıca çözmek, erişimi geri yüklemek ve BT ekibiyle uğraşmadan verimliliği artırmak için bu adım adım sorun giderme kılavuzunu izleyin. En son düzeltmelerle güncellendi.

Microsoft Teams Ücretsiz Abonelik Hatası Nasıl Düzeltilir?

Microsoft Teams Ücretsiz Abonelik Hatası Nasıl Düzeltilir?

Microsoft Teams Ücretsiz Abonelik Hatası yüzünden toplantılarınızın aksamasından bıktınız mı? Sorunu hızlıca çözmek ve sorunsuz ekip çalışmasını yeniden sağlamak için kanıtlanmış, adım adım çözümleri keşfedin. En yeni sürümlerde çalışır!

Herkese Açık Wi-Fi Ağlarında Microsoft Teams Ağ Hatasını Çözme

Herkese Açık Wi-Fi Ağlarında Microsoft Teams Ağ Hatasını Çözme

Herkese açık Wi-Fi ağlarında Microsoft Teams ağ hatasıyla mı karşılaşıyorsunuz? Aramalarınızı ve toplantılarınızı sorunsuz bir şekilde geri yüklemek için VPN ayarları, port kontrolleri ve önbellek temizleme gibi anında çözümler bulun. Hızlı çözüm için adım adım kılavuz.

Microsoft Teams Wiki Sekmesinin Yüklenmeme Hatası Nasıl Düzeltilir?

Microsoft Teams Wiki Sekmesinin Yüklenmeme Hatası Nasıl Düzeltilir?

Microsoft Teams Wiki sekmesinin yüklenmemesi hatasıyla mı karşılaşıyorsunuz? Sorunu hızlıca çözmek, Wiki sekmelerinizi geri yüklemek ve ekip verimliliğini sorunsuz bir şekilde artırmak için kanıtlanmış adım adım çözümleri keşfedin.

Microsoft Teams Mac Hata Anahtar Zinciri Sorunlarını Giderme

Microsoft Teams Mac Hata Anahtar Zinciri Sorunlarını Giderme

Microsoft Teams Mac'te Anahtar Zinciri hatasıyla mı mücadele ediyorsunuz? Sorunsuz iş birliğine geri dönmek için macOS için kanıtlanmış, adım adım sorun giderme çözümlerini keşfedin. Hızlı çözümler içeride!

Microsoft Teams Mikrofonunda Sesin Boğuk Gelmesi veya Hiç Gelmemesi Sorununu Nasıl Çözersiniz?

Microsoft Teams Mikrofonunda Sesin Boğuk Gelmesi veya Hiç Gelmemesi Sorununu Nasıl Çözersiniz?

Microsoft Teams mikrofonunuzda boğuk veya hiç ses olmamasından bıktınız mı? Microsoft Teams mikrofon sorunlarını hızlı ve kanıtlanmış adımlarla nasıl çözeceğinizi keşfedin. Net ses sizi bekliyor!

Microsoft Teamse Hızlı Mobil Giriş İçin QR Kodunu Nerede Bulabilirsiniz?

Microsoft Teamse Hızlı Mobil Giriş İçin QR Kodunu Nerede Bulabilirsiniz?

Microsoft Teams QR kodunun nerede olduğunu ve mobil cihazınızdan süper hızlı nasıl giriş yapabileceğinizi tam olarak keşfedin. Adım adım, görsellerle desteklenmiş kılavuz sayesinde saniyeler içinde bağlantı kurabilirsiniz—şifreye gerek yok!

Microsoft Teams Neden Bu Kadar Yavaş? 2026da Hızlandırmak İçin 10 İpucu

Microsoft Teams Neden Bu Kadar Yavaş? 2026da Hızlandırmak İçin 10 İpucu

Microsoft Teams'in yavaş çalışmasından mı rahatsızsınız? Microsoft Teams'in neden bu kadar yavaş olduğunu keşfedin ve 2026'da sorunsuz bir iş birliği için hızını önemli ölçüde artırmak üzere bu 10 kanıtlanmış ipucunu uygulayın.

Bilgisayarınızda Microsoft Teams Kurulum Klasörünü Nerede Bulabilirsiniz?

Bilgisayarınızda Microsoft Teams Kurulum Klasörünü Nerede Bulabilirsiniz?

Bilgisayarınızda Microsoft Teams kurulum klasörünü bulmakta zorlanıyor musunuz? Bu adım adım kılavuz, yeni ve klasik Teams sürümleri için, kullanıcı ve makine bazında kurulumların tam yollarını gösteriyor. Sorun gidermede zamandan tasarruf edin!

Microsoft Teams Görev Yönetimi Senkronizasyon Hataları Nasıl Düzeltilir?

Microsoft Teams Görev Yönetimi Senkronizasyon Hataları Nasıl Düzeltilir?

Microsoft Teams Görev Yönetimi Senkronizasyon Hatalarının iş akışınızı aksatmasından bıktınız mı? Teams, Planner ve To Do genelinde sorunsuz görev senkronizasyonunu geri yüklemek için uzmanlarımızın adım adım çözümlerini izleyin. Anında rahatlama için hızlı çözümler!

Yapay Zeka Destekli Verimlilik için Microsoft Teams Copilot Nasıl Kullanılır?

Yapay Zeka Destekli Verimlilik için Microsoft Teams Copilot Nasıl Kullanılır?

Microsoft Teams Copilot'ı kullanarak yapay zeka destekli verimliliği nasıl artıracağınızı keşfedin. Toplantıları, sohbetleri ve görevleri zahmetsizce dönüştürmek için adım adım kılavuz, temel özellikler ve ipuçları. Daha akıllı iş birliğinin kilidini bugün açın!

Microsoft Teams Önbelleğini Temizleyerek Performans Sorunlarını Nasıl Giderebilirsiniz?

Microsoft Teams Önbelleğini Temizleyerek Performans Sorunlarını Nasıl Giderebilirsiniz?

Microsoft Teams'in yavaş çalışmasından mı şikayetçisiniz? Windows, Mac, web ve mobil cihazlarda performans sorunlarını, gecikmeleri, çökmeleri gidermek ve hızı artırmak için Microsoft Teams önbelleğini adım adım nasıl temizleyeceğinizi öğrenin. İşe yarayan hızlı çözümler!

Teams Takvimim Nerede? Senkronizasyon Sorunlarını Giderme

Teams Takvimim Nerede? Senkronizasyon Sorunlarını Giderme

"Teams Takvimim Nerede?" sorunuyla mı boğuşuyorsunuz? Microsoft Teams'deki senkronizasyon sorunlarını adım adım çözün. Takvim görünümünüzü geri yükleyin ve zahmetsizce senkronize edin—uzman ipuçları içeride!

Chromebooklarda Microsoft Teams Giriş Hatası Nasıl Düzeltilir?

Chromebooklarda Microsoft Teams Giriş Hatası Nasıl Düzeltilir?

Chromebook'larda Microsoft Teams oturum açma hatasıyla mı karşılaşıyorsunuz? Oturum açma sorunlarını hızlıca çözmek için adım adım çözümleri keşfedin. Sorunsuz ekip çalışması için önbelleği temizleyin, uygulamaları güncelleyin ve daha fazlasını yapın. En yeni Chrome OS sürümlerinde çalışır!

Microsoft Teams Kullanıcı Arayüzünü Daha Büyük ve Daha Okunabilir Hale Getirme Yöntemleri

Microsoft Teams Kullanıcı Arayüzünü Daha Büyük ve Daha Okunabilir Hale Getirme Yöntemleri

Microsoft Teams'te küçük yazı tipleriyle mi mücadele ediyorsunuz? Microsoft Teams arayüzünüzü daha büyük ve daha okunaklı hale getirmek için kanıtlanmış adımları keşfedin. Masaüstü, web ve erişilebilirlik ayarları için kolay düzenlemelerle netliği artırın ve göz yorgunluğunu azaltın.