РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
638 of 1593 menu

Функция fmt.Sscan

Функция fmt.Sscan сканирует строку и извлекает из нее значения, разделенные пробелами. Первым параметром функция принимает строку для сканирования, а последующими параметрами - указатели на переменные, в которые будут записаны извлеченные значения. Функция возвращает количество успешно обработанных элементов и ошибку, если она произошла.

Синтаксис

fmt.Sscan(str, &var1, &var2, ...)

Пример

Давайте извлечем из строки "123 456" два целых числа:

package main import ( "fmt" ) func main() { var a, b int str := "123 456" res, err := fmt.Sscan(str, &a, &b) if err != nil { fmt.Println(err) } fmt.Println(res) fmt.Println(a, b) }

Результат выполнения кода:

2 123 456

Пример

Извлечем из строки "hello world 42" строку, строку и число:

package main import ( "fmt" ) func main() { var s1, s2 string var num int str := "hello world 42" res, err := fmt.Sscan(str, &s1, &s2, &num) if err != nil { fmt.Println(err) } fmt.Println(res) fmt.Println(s1, s2, num) }

Результат выполнения кода:

3 hello world 42

Пример

Если количество переменных не совпадает с количеством элементов в строке, функция вернет ошибку. Например, попробуем извлечь три числа из строки с двумя значениями:

package main import ( "fmt" ) func main() { var a, b, c int str := "10 20" res, err := fmt.Sscan(str, &a, &b, &c) if err != nil { fmt.Println("Error:", err) } fmt.Println("Count:", res) }

Результат выполнения кода:

"Error: expected 3 fields, found 2" Count: 2

Смотрите также

  • функцию fmt.Scan,
    которая сканирует данные из стандартного ввода
  • функцию fmt.Scanln,
    которая сканирует данные до перевода строки
  • функцию fmt.Sprintf,
    которая форматирует строку без вывода
  • функцию fmt.Fscan,
    которая сканирует данные из io.Reader
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить