Qual a diferença entre crases (``) e aspas duplas ("") em Go?
Olá a todos! Comecei a estudar Go e notei que strings podem ser declaradas de duas formas: com aspas duplas e com crases (backticks). Por exemplo:
```go
str1 := "Olá, mundo!"
str2 := `Olá, mundo!`
```
À primeira vista, não há diferença — ambas funcionam. Mas tentei criar uma string multilinha com aspas duplas e obtive um erro de compilação. Já com crases funciona:
```go
// Erro!
// str3 := "Linha\nem duas linhas"
// Funciona
str4 := `Linha
em duas linhas`
```
Também notei que dentro de aspas duplas podemos usar escape sequences como \n, \t, \\, enquanto nas crases elas são exibidas literalmente como texto:
```go
fmt.Println("String com\nquebra de linha") // Quebra de linha real
fmt.Println(`String com\nquebra de linha`) // Exibe literalmente \n
```
Mas não entendo completamente quando usar cada uma. Existem armadilhas? Por exemplo, como lidar com muitas barras invertidas ou c
No answers yet.
Faça login para deixar uma resposta
Blogs