Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Es Swift un lenguaje estático?

¿Es Swift un lenguaje estático?

Es un lenguaje estático, pero se puede incrustar contenido dinámico. Por ejemplo, let?a?=?1

let?b?=?2

let?c?=?"a? ?b?=?\(a? ?b ) "

print(c)

El programa anterior está compilado estáticamente y tiene una fuerte verificación de tipos. Sin embargo, cuando se ejecuta la cadena c, el contenido se interpreta dinámicamente y el resultado impreso en realidad evalúa primero la expresión dentro del símbolo \() y luego completa el contenido, por lo que el resultado es a b = 3

El mecanismo interno se llama Swift REPL, que puede entenderse simplemente como un script dinámico en lenguaje Swift.

Con el desarrollo de los lenguajes informáticos en la actualidad, ya no existe una distinción entre lenguajes estáticos y lenguajes dinámicos. Como lenguaje compilado estáticamente con una sólida verificación de tipos, Swift puede cargar bibliotecas de enlaces dinámicos, conectarse a módulos dinámicos y realizar análisis de scripts dinámicos mediante el escape de cadenas.

Por el contrario, los scripts de lenguajes dinámicos como Python también se pueden ampliar con módulos C/C compilados estáticamente y compilados intermediamente a través de pyc, sin mencionar el código de bits Java/VB. ¿Lenguaje estático o lenguaje dinámico? Creo que los conceptos de lenguajes estáticos y lenguajes dinámicos se pueden dejar de lado.