# Консоль

Здесь описаны функции для работы с консолью.

* [ClearCarriage( str input ) str](/stdlib/console.md#clearcarriage-str-input-str)
* [Print( anytype par... ) int](/stdlib/console.md#print-anytype-par-int)
* [Println( anytype par... ) int](/stdlib/console.md#println-anytype-par-int)
* [ReadString( str text ) str](/stdlib/console.md#readstring-str-text-str)

## Операторы

| Оператор     | Результат | Описание                                                                                                                                                                |
| ------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **\|\|** str | int       | Этот унарный оператор выводит строку в стандартный вывод, но перед этим он удаляет крайние пробельные символы в каждой строке. Возвращает количество записанных байтов. |

```
run {
   ||`One
      Two
      Three
      `
}
/* It prints
One
Two
Three
*/
```

## Функции

### ClearCarriage(str input) str

Функция *ClearCarriage* очищает строку от всех сиволов возврата каретки **\r** назад до предыдущего символа перевода строки **\n**. Рекомендуется использовать *ClearCarriage*, если вы получаете вывод консоли при вызове функции **Run**. Функция вызывается автоматически при вызове *str s = $ command line*.

```go
buf dirout
Run("myapp", stdout: dirout)
// dirout == Start\nPercent: 0%\rPercent: 50%\rPercent: 100%\nFinish
ret = ClearCarriage(str(dirout))
// ret == Start\nPercent: 100%\nFinish
```

### Print(anytype par...) int

Функция *Print* форматирует по умолчанию все переданные операнды любых типов и выводит их в стандартный вывод. Пробелы являются разделителями при выводе параметров, если ни один из соседних параметров не является строкой. Функция *Print* возвращает количество записанных байтов.

### Println(anytype par...) int

Функция *Println* форматирует по умолчанию все переданные операнды любых типов и выводит их в стандартный вывод. Также, она записывает в конце символ перевода строки. Пробелы всегда являются разделителями при выводе параметров. Функция *Println* возвращает количество записанных байтов.

### ReadString(str text) str

Функция *ReadString* читает данные из стандартного ввода до получения символа '\n' (нажатие Enter). Она возвращает строку содержащую введенные данные. Если параметр *text* не пустой, то функция выведет этот текст перед чтением данных.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ru.gentee.org/stdlib/console.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
