Введение в GO

Go (также Golang) – компилируемый ЯП, был создан в Google в 2007 году, и с тех пор инженерные группы Google используют Go для создания продуктов и услуг в массовом масштабе. Официально представленный в 2009 году. Он предназначен для создания высокоэффективных программ, рассчитанных на многоядерные и многопроцессорные компьютеры.

Для проверки установлен ли компилятор в командной строке пишем и запускаем go version , если языка нет то идет качать на оф сайт https://go.dev/dl/ и устанавливаем подходящий пакет с ГО.
Далее идет код, а ниже объяснения:

package main
import ("fmt"
"math/rand"
"time"
"strings"
)

func main(){
	hi()
	color()
	iterations()
	guessNumber()
	msg := "Ya;HochY;PereadTT"
	messages(msg)
}

func hi() {
	var x string  = "Hello your's ver 2! \nline 2 \ni tebe privet"
	println(x)
}

func color() {
	color := "red"
	if color == "red" {
		println("your color red")
	} else {
		println("color not found")
	}
	println("finish color")
}

func iterations(){
	pr := "ix"
	for i :=0; i<10; i++ {
		number := rand.Intn(5)
		println("p+i", pr, i, number)
	}
}

func guessNumber(){
	println("starting GuessNumber")
	count := 0
	guess := -1
	rand.Seed(time.Now().UnixNano())
	number := rand.Intn(10)
	guess = number // for the game comment out
	println(number)

	for count < 3 && guess != number {
		fmt.Print("Guess the number (0..9): ")
		fmt.Scanln(&guess)
		if guess != number {
			if guess < number {
				fmt.Println("Your number is less")
			} else {
				fmt.Println("Your number is bigger")
			}
			count++
		}
	}

	if guess == number{
		fmt.Println("Your win! number =", number)
	} else {
		fmt.Println("Your lose! number =", number)
	}
}

func messages(mess string) {
	println(mess)
	println(strings.ToUpper(mess))
	println(strings.ToLower(mess))
	resp := strings.Split(strings.ToLower(mess), ";")
	println(resp[2])
}

package main — первая строка каждого файла должна содержать имя пакета, в котором мы работаем.
import ( … ) -импортирование пакетов
«fmt» — для форматированного вывода строк
«math/rand», — рандом функция из пакета math , для func guessNumber()
«time», для func guessNumber()
«strings» для работы с текстом

func main() — точка входа в программу, стартовая функция
func hi()
— функция приветствия содержит текст с переводом строк
Переменная объявляется при помощи ключевого слова var, после имени указывается тип string
var hi string = «Hello, world!»
Сокращенная версия присваивания «:=» компилятор определяет тип по значению, которое присваивается.
hi := «Hello, world!»
func color() -функция использующая if
if color == «red» — сравниваем переменную с текстом
func iterations()
— функция использует оператор for
for i :=0; i<10; i++ { iterations }
func guessNumber()
— функция использует связку генератора случайных цифр, цикла for с условием выхода либо число совпало либо количество попыток закончилось
rand.Seed(time.Now().UnixNano()) -что бы последовательность случайных чисел не была одинакова, из-за изолированности Go Playground всегда начинается с одного и того же времени, поэтому этот код не будет работать должным образом. Наиболее часто используемым начальным значением является текущее время, преобразованное в int64 к UnixNanoс
number := rand.Intn(10) — генерим случайное число от 1 до 10
for count < 3 && guess != number {} — заходим в цикл который дает 3 попытки
fmt.Scanln(&guess) — принимаем число. Ждем пока будет введено. Далее сверяем и выдает ответ
func messages(msg)
— функция принимает строку и совершает с ней некие действия.
принимаем месседж как строку, дальше печатаем ее большими и маленькими буквами
разбиваем строку на массив по маске и выводим значение в нижнем регистре.

Как запустить код на go? Переходим в папку с кодом в терминале и запускаем команду с названием файла:
go run hello.go

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *