> For the complete documentation index, see [llms.txt](https://docs.gentee.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gentee.org/stdlib/console.md).

# Console

Functions for working with a console described here.

* [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)

## Operators

| Operator     | Result | Description                                                                                                                                                      |
| ------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **\|\|** str | int    | This unary operator writes a string to standard output but it trims whitespace characters in the each line before printing. Returns the number of bytes written. |

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

## Functions

### ClearCarriage(str input) str

The function *ClearCarriage* clears the string from all carriage return characters **\r** back to the previous line break character **\n**. It is recommended to use *ClearCarriage* if you get the console output when calling the **Run** function. The function is called automatically in case of *str s = $ command line* operator.

```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

The *Print* function formats using the default formats for operands of any types and writes to standard output. Spaces are added between operands when neither is a string. *Print* returns the number of bytes written.

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

The *Println* function formats using the default formats for operands of any types and writes to standard output. Also, it writes a new line character to standard output at the end. Spaces are always added between operands. *Println* returns the number of bytes written.

### ReadString(str text) str

The *ReadString* function reads the standard input until the first occurrence of '\n' (Enter key). It returns a string containing the data up to. If the *text* parameter is not empty, the function prints this text before reading input.
