golang book 5

for continue break package main import ( "bufio" "fmt" "log" "math/rand" "os" "strconv" "strings" "time" ) func main() { fmt.Println("Угадай число от 1 до 100") rand.Seed(time.Now().Unix()) var target int = rand.Intn(100) + 1 win := false for i := 10; i >= 0; i-- { reader := bufio.NewReader(os.Stdin) input, err := reader.ReadString('\n') if err != nil { log.Fatal(err) } input = strings.TrimSpace(input) num1, err := strconv.Atoi(input) if err != nil { log.Fatal(err) } if num1 > target { fmt.Println("загаданное число мень> continue } if num1 < target { fmt.Println("загаданное число боль> continue } win = true break } if win { fmt.Println("Победа") } else { fmt.Println("Провал, число было ", target) } } Красивый вывод fmt.Printf("About: %0.2f p", 1.0/3.0) А тут возврат в строку str := fmt.Sprintf("About: %0.2f p", 1.0/3.0) fmt.Printf("About: %s = %d \n", "aaa", 5) fmt.Printf("About: %f p \n", 3.0) буква после % определяет тип глагола %f числ с точк %d число %s строка %t булево true или false %v что угодно %#v тут энтеры и табы не преобразуются \n %T сам тип значения int, string %% знак процента %12s %2d это минимальная длина, если текст меньше, то в начале он дополнится пробелами %5.3f 5 - минимальная ширина всего числа (дробн часть и точк) 3 - ширина дробной части %.3f да так тоже сработает функции func say() {} say() вызов после обьявления функции ее можно будет вызывать если функция должна использ только внутри, то начинай ее с мелкой буквы