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

# Return in SRON

#### If you want to return a value from a function, then **'return'** attribute is used.

#### Below is a sample code:

```js
{
    name : square
    args : (Int val)
    return : ${ val^2 }
}

{
    name : Main
    Int val = square(7)
    println(val)
}
```

####

* You can return value of any type from a function.
* You cannot return multiple values from a function.
* Using ***'type'*** attribute, you can also specify the type of the value to be return from a function.

```js
{
    name : getList
    type : List
    return : ["Hello","SRON!"]
}
```

#### You can also set the return type of the function and for that you can use 'type' attribute. **'Type'** attribute converts the return value to the specified datatype only if the datatype of returned value is not same.

```js
{
    name : getValue
    type : Int
    return : 3.1415   @this value will be automatically converted to integer
}
```

### SRON uses advance return value optimization to enhance code speed and efficiency. Even if the size of the value is too big, it doesn't affect the code performance.

***
