Skip to content

Latest commit

 

History

History
68 lines (52 loc) · 997 Bytes

03-label-break-goto.md

File metadata and controls

68 lines (52 loc) · 997 Bytes

Bölüm 06/03: Durum Kontrolleri

Label Kullanımı

Kodun akışı içinde, aynı makine dilindeki jmp (jump) gibi, bir yerden bir yere zıplamak mümkün:

https://go.dev/play/p/LKOJu0advHS

package main

import "fmt"

func main() {
switchStatement:
	switch 1 {
	case 1:
		fmt.Println("1") // 1
		for i := 0; i < 5; i++ {
			break switchStatement // daha ilk harekette switchStatement'dan çıkar ve fmt.Println("3") kısmına gider
		}
		fmt.Println("2")
	case 2:
	default:
		fmt.Println("default case...")
	}
	fmt.Println("3") // 3
}

// 1
// 3

goto Kullanımı

Bilgisayar programlama dillerinin atası olan B.A.S.I.C’de olduğu gibi, belli bir durum olduğunda kodun içinde başka bir yere gitmeyi sağlar:

https://go.dev/play/p/fPIMNugFU-S

package main

import "fmt"

func main() {
	i := 0
Start:
	fmt.Println(i)
	if i > 2 {
		goto End
	} else {
		i += 1
		goto Start
	}
End:
}

// 0
// 1
// 2
// 3