una retorno llamar funciones funcion for entrada ejemplo datos con como swift inline-functions

swift - retorno - ¿Hay alguna manera rápida de declarar una función en línea?



funciones en swift 4 (2)

Soy muy nuevo en el lenguaje rápido

Quería declarar una función en línea como en c ++, así que mi declaración divertida es como

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

y quiero que hagas algo como

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

Intenté buscar en la web, pero no encontré nada relevante. Quizás no haya una palabra clave en línea, pero tal vez haya otra forma de integrar la función.

Muchas gracias :)


Swift 1.2 incluirá el atributo @inline , con never y __always como parámetros. Para más información, ver here .

Como se indicó anteriormente, rara vez necesita declarar una función explícitamente como @inline(__always) porque Swift es bastante inteligente en cuanto a cuándo incluir una función en línea. No tener una función en línea, sin embargo, puede ser necesario en algunos códigos.


Todo el crédito a la answer , simplemente resumiendo la información del here .

Para hacer una función en línea simplemente agregue @inline(__always) antes de la función:

@inline(__always) func myFunction() { }

Sin embargo, vale la pena considerar y aprender sobre las diferentes posibilidades. Hay tres formas posibles de en línea:

  • a veces - se asegurará de que a veces en línea la función. Este es el comportamiento predeterminado, ¡no tienes que hacer nada! El compilador Swift podría automáticamente en línea funcionar como una optimización.
  • siempre - se asegurará de siempre en línea la función. Obtenga este comportamiento agregando @inline(__always) antes de la función. Use "si su función es bastante pequeña y preferiría que su aplicación se ejecutara más rápido".
  • Nunca - se asegurará de nunca en línea la función. Esto se puede lograr agregando @inline(never) antes de la función. Use "si su función es bastante larga y desea evitar aumentar el tamaño del segmento de su código".