Вывод типов
Часть раздела Основы путешествия по GO на Coddy — урок 31 из 109.
В Go мы можем вывести тип переменной, используя спецификатор формата %T с функцией fmt.Printf(). Давайте рассмотрим, как это сделать с различными типами данных.
Сначала давайте создадим переменные разных типов и выведем их типы:
name := "Gopher"
age := 25
height := 1.85
isActive := true
fmt.Printf("name is type: %T\n", name)
fmt.Printf("age is type: %T\n", age)
fmt.Printf("height is type: %T\n", height)
fmt.Printf("isActive is type: %T\n", isActive)После выполнения этого кода мы увидим тип каждой переменной, отображаемый на экране:
name is type: string
age is type: int
height is type: float64
isActive is type: boolСпецификатор формата %T указывает Go отображать тип данных вместо самого значения. Это очень полезно, когда вы не уверены, какого типа переменная, или когда вы изучаете систему типов Go.
Задание
НовичокВ этом испытании вы попрактикуетесь в использовании спецификатора формата %T с функцией fmt.Printf для отображения типов различных переменных.
В коде уже определено несколько переменных разных типов. Ваша задача — использовать fmt.Printf со спецификатором формата %T, чтобы вывести тип каждой переменной.
Шпаргалка
Используйте спецификатор формата %T с fmt.Printf() для отображения типа переменной:
name := "Gopher"
age := 25
height := 1.85
isActive := true
fmt.Printf("name is type: %T\n", name)
fmt.Printf("age is type: %T\n", age)
fmt.Printf("height is type: %T\n", height)
fmt.Printf("isActive is type: %T\n", isActive)Вывод:
name is type: string
age is type: int
height is type: float64
isActive is type: boolПопробуйте сами
package main
import "fmt"
func main() {
// Эти переменные уже определены для вас
age := 25
price := 19.99
isAvailable := true
productName := "Wireless Headphones"
// TODO: Используйте fmt.Printf с %T, чтобы вывести тип переменной 'age'
// Вывод должен быть: "The type of age is: int"
// TODO: Используйте fmt.Printf с %T, чтобы вывести тип переменной 'price'
// Вывод должен быть: "The type of price is: float64"
// TODO: Используйте fmt.Printf с %T, чтобы вывести тип переменной 'isAvailable'
// Вывод должен быть: "The type of isAvailable is: bool"
// TODO: Используйте fmt.Printf с %T, чтобы вывести тип переменной 'productName'
// Вывод должен быть: "The type of productName is: string"
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений