Avatar ·

¿Cuál es la diferencia entre las comillas invertidas (``) y las comillas dobles ("") en Go?

¡Hola a todos! Acabo de empezar a aprender Go y noté que las strings se pueden declarar de dos maneras: con comillas dobles y con comillas invertidas (backticks). Por ejemplo: ```go str1 := "¡Hola, mundo!" str2 := `¡Hola, mundo!` ``` A primera vista, no hay diferencia — ambas opciones funcionan. Pero intenté hacer una string multilínea con comillas dobles y obtuve un error de compilación. Con comillas invertidas funciona: ```go // Error // str3 := "String // en dos líneas" // Funciona str4 := `String en dos líneas` ``` También noté que dentro de las comillas dobles se pueden usar secuencias de escape como \n, \t, \\, mientras que en las comillas invertidas se muestran literalmente como texto: ```go fmt.Println("String con\nsalto") // Salto de línea real fmt.Println(`String con\nsalto`) // Imprime literalmente \n ``` Pero no entiendo del todo cuándo usar cada una. ¿Hay algún inconveniente? Por ejemplo, ¿qué pasa si la string tiene muchas barras invertidas o c