Подтвердить что ты не робот

Есть ли способ быстро объявить встроенную функцию?

Я очень новичок в быстром языке

Я хотел объявить встроенную функцию, как в С++ поэтому моя забавная декларация похожа на

func MyFunction(param: Int) -> Int {
...
...
...
}

и я хочу сделать что-то вроде

inline func MyFunction(param: Int) -> Int {
...
...
...
}

Я пытался искать в Интернете, но я не нашел ничего подходящего возможно, нет ключевого слова inline, но, возможно, есть другой способ встроить функцию

Большое спасибо:)

4b9b3361

Ответ 1

Swift 1.2 будет включать атрибут @inline с параметрами never и __always. Для получения дополнительной информации см. здесь.

Как указано выше, вам редко нужно явно объявлять функцию как @inline(__always), потому что Swift довольно умна, когда встроить функцию. Однако, не имея встроенной функции, может потребоваться некоторый код.

Ответ 2

Всем известно о ответе , просто суммируя информацию из ссылки .

Чтобы сделать функцию inline, просто добавьте @inline(__always) перед функцией:

@inline(__always) func myFunction() {

}

Однако стоит подумать и узнать о разных возможностях. Существует три возможных способа встраивания:

  • иногда - всегда будет устанавливать функцию. Это поведение по умолчанию, вам ничего не нужно делать! Компилятор Swift может автоматически включать функции в качестве оптимизации.
  • всегда - всегда будет поддерживать функцию. Достичь этого поведения, добавив @inline(__always) перед функцией. Используйте "если ваша функция довольно мала, и вы предпочли бы, чтобы ваше приложение работало быстрее".
  • никогда - никогда не включит функцию. Это может быть достигнуто добавлением @inline(never) перед функцией. Используйте "если ваша функция довольно длинная, и вы хотите избежать увеличения размера сегмента кода".