Loading...

Өзгөрмөлөр

 

Өзгөрмөлөр программадагы маалыматтарды сактоо үчүн колдонулат. Өзгөрмө маанини кармай турган эстутумдагы аталган жерди билдирет. Өзгөрмөлөрдү аныктоо үчүн var ачкыч сөзүн , андан кийин өзгөрмөнүн атын, анан анын түрүн колдонуңуз:

1

var ат_өзгөрүлмөнүн тиби_маалымат

Өзгөрмө аты алфавиттик жана сандык символдордон жана астын сызылган белгиден турган ыктыярдуу идентификаторду билдирет. Биринчи символ же алфавиттик белги же астын сызуу белгиси болушу керек. Бул учурда, аталыштар негизги сөздөрдүн бирин билдирбеши керек: break, case, chan, const, continue, default, defer, else, fallthrough, for, func, go, goto, if, import, interface, map, package, диапазон, кайтаруу, тандоо, структура, которуу, түрү, бар.

Мисалы, эң жөнөкөй өзгөрмө аныктамасы:

1

var hello string

Бул өзгөрмө hello деп аталат жана ал саптын түрүн , б.а. кандайдыр бир сапты билдирет.

Сиз бир эле учурда үтүр менен бөлүнгөн бир нече өзгөрмөлөрдү жарыялай аласыз:

1

var a, b, c string

Бул учурда a, b, c өзгөрмөлөрү аныкталат, алар string тибиндегиБул учурда, кайрадан, маалымат түрү аягында көрсөтүлөт жана бардык өзгөрмөлөр ушул түргө таандык.

Өзгөрмө аныкталгандан кийин, ага анын түрүнө дал келген маани берилиши мүмкүн:

1

2

3

4

5

6

7

8

package main

import "fmt"

 

func main() {

    var hello string

    hello = "Hello world"

    fmt.Println(hello)

}

салам сап болгондуктан, ага сап дайындалышы мүмкүн. Бул учурда, hello өзгөрмөсү "Hello world" сабын сактайт. Println функциясы бул өзгөрмөнүн маанисин консолго басып чыгарат.

Go бул регистрди сезгич тил экенин эске алуу керек, башкача айтканда "салам" жана "Салам" деп аталган өзгөрмөлөр ар кандай өзгөрмөлөрдү билдирет:

1

2

3

var hello string

hello = "Hello world"

fmt.Println(Hello)  // ! Ошибка переменной Hello нет, есть переменная hello

Сиз ошондой эле аны жарыялоодо өзгөрмөгө баштапкы маанини дароо дайындай аласыз. Бул техника инициализация деп аталат:

1

2

3

4

5

6

7

package main

import "fmt"

 

func main() {

    var hello string = "Hello world"

    fmt.Println(hello)

}

Эгерде биз бир эле учурда бир нече өзгөрмөлөрдү аныктап, аларга баштапкы маанилерди ыйгаргыбыз келсе, аларды кашаага ороп алабыз:

1

2

3

4

5

6

7

8

9

10

11

12

package main

import "fmt"

 

func main() {

    var (

        name string = "Tom"

        age int = 27

    )

     

    fmt.Println(name)   // Tom

    fmt.Println(age)    // 27

}

Өзгөрмөлөрдүн айырмалоочу өзгөчөлүгү алардын маанисин көп жолу өзгөртүүгө болот:

1

2

3

4

5

6

7

8

9

10

11

12

13

package main

import "fmt"

 

func main() {

    var hello string = "Hello world"

    fmt.Println(hello)  // Hello world

     

    hello = "Hello Go"

    fmt.Println(hello)  // Hello Go

     

    hello = "Go Go Go Ole Ole Ole"

    fmt.Println(hello)  // Go Go Go Ole Ole Ole

}

Кыскача өзгөрмө аныктамасы

Бул форматта кыска өзгөрмө аныктамага ээ болуу да алгылыктуу:

1

ат_өзгөрүлмө := маани

Өзгөрмө аталышынан кийин кош чекит жана барабар коюлат, андан кийин анын мааниси берилет.

1

2

3

4

5

6

7

8

package main

import "fmt"

 

func main() {

    name := "Tom"

    fmt.Println(name)

     

}

Бул учурда, берилиштердин түрү так көрсөтүлбөйт, ал автоматтык түрдө дайындалган мааниден алынат.