Go - Константы: Пособие для начинающих

Добро пожаловать, будущие программисты! Сегодня мы окунемся в мир констант в Go. Не волнуйтесь, если вы еще ни разу не писали строку кода - мы начнем с азов и постепенно перейдем к более сложному. К концу этого учебника вы将成为 знатоком констант!

Go - Constants

Что такое константы?

Прежде чем углубиться в детали, давайте поймем, что такое константы. В программировании константа - это значение, которое не изменяется в течение выполнения программы. Представьте это как коробку, в которую вы кладете значение и запечатываете ее -_once оно там, оно не выходит или не изменяется!

целые литералы

Давайте начнем с чего-то простого - целых литералов. Это целые числа без десятичных знаков.

Пример 1: Основные целые литералы

package main

import "fmt"

func main() {
fmt.Println(42)
fmt.Println(-17)
fmt.Println(0)
}

В этом примере мы выводим три целых литерала: 42, -17 и 0. Просто, правда? Но Go позволяет нам сделать наши целые числа более изысканными.

Пример 2: Разные системы счисления

package main

import "fmt"

func main() {
fmt.Println(42)    // Десятичное (система счисления 10)
fmt.Println(0x2A)  // Шестнадцатеричное (система счисления 16)
fmt.Println(052)   // Восьмеричное (система счисления 8)
}

Здесь становится интересно. Все три строки выводят одно и то же число (42), но записанное в разных системах счисления. Это как говорить одно и то же число на разных языках!

浮点字面量

Теперь перейдем к десятичным числам, как насчет этого?

Пример 3: Основные浮点字面ные значения

package main

import "fmt"

func main() {
fmt.Println(3.14159)
fmt.Println(-0.5)
fmt.Println(2.0)
}

Это ваши обычные десятичные числа. Но Go предоставляет нам больше способов их выражения:

Пример 4: научная запись

package main

import "fmt"

func main() {
fmt.Println(6.022e23)  // Число Авогadro
fmt.Println(1.6e-19)   // Заряд электрона
}

Научная запись super handy для очень больших или очень малых чисел. Это как давать числам их собственные суперсилы!

С escape sequences

Иногда нам нужно включить особые символы в наши строки. Вот где escape sequences come in handy.

Пример 5: Common escape sequences

package main

import "fmt"

func main() {
fmt.Println("Hello\nWorld")  // Newline
fmt.Println("Tab\tcharacter")  // Tab
fmt.Println("Backslash: \\")  // Backslash
fmt.Println("\"Quotes\"")  // Quotes
}

Эти крошечные обратные слеши resemble magic wands, transforming ordinary characters into special ones!

Строковые литералы в Go

Строки resemble sentences of programming. Давайте посмотрим, как Go справляется с ними.

Пример 6: Основные строковые литералы

package main

import "fmt"

func main() {
fmt.Println("Hello, Gophers!")
fmt.Println(`This is a raw string literal.
It can span multiple lines.`)
}

Заметили разницу? Первый использует двойные кавычки, а второй - обратные кавычки. Версия с обратными кавычками называется raw string literal и может включать новые строки!

Ключевое слово const

Теперь давайте соберем все вместе с помощью ключевого слова const.

Пример 7: Объявление констант

package main

import "fmt"

const (
PI = 3.14159
GRAVITATIONAL_CONSTANT = 6.67430e-11
GREETING = "Hello, Constants!"
)

func main() {
fmt.Println(PI)
fmt.Println(GRAVITATIONAL_CONSTANT)
fmt.Println(GREETING)
}

Здесь мы объявляем константы, которые нельзя изменить позже в программе. Это как высекание этих значений на камне!

Constant Methods

Go предоставляет несколько методов для работы с константами. Вот таблица, резюмирующая их:

Method Description Example
iota Generates a sequence of related constants const ( A = iota; B; C )
Type inference Go can infer the type of a constant const x = 5
Untyped constants Constants without a specific type const y = 3.14
Typed constants Constants with a specific type const z int64 = 1000000

Remember, constants are your friends in Go. They help keep your code organized and prevent accidental changes to important values.

In conclusion, constants in Go are powerful tools that allow you to define unchangeable values in your programs. From simple integers to complex strings, constants provide a way to make your code more readable and maintainable.

So, go forth and conquer the world of constants, young Gophers! Your journey into the exciting world of Go programming has just begun. Happy coding!

Credits: Image by storyset