Kurzusok
/
Go
Go
/
Tanterv
/
Stringek
St

Stringek ebben a kurzusban: Go

1 feladat

A(z) Stringek fogalomról

A string a Go-ban bájtok megváltoztathatatlan sorozata, amelyek nem feltétlenül karaktereket ábrázolnak.

A string literált kettős idézőjelek közé írjuk:

const name = "Jane"

A stringek a + operátorral fűzhetők össze:

"Jane" + " " + "Austen"
// => "Jane Austen"

Néhány speciális karaktert egy kezdő visszaperjellel kell escape-elni, például a \t a tabulátort, a \n pedig az új sort jelöli a stringekben.

"How is the weather today?\nIt's sunny"  
// =>
// How is the weather today?
// It's sunny

A strings csomag sok hasznos függvényt tartalmaz a stringekkel való munkához. Ha többet szeretnél megtudni a stringfüggvényekről, nézd meg a strings csomag dokumentációját. Íme néhány példa:

import "strings"

// strings.ToLower returns the string given as argument with all its characters lowercased
strings.ToLower("MaKEmeLoweRCase")
// => "makemelowercase"

// strings.Repeat returns a string with a substring given as argument repeated many times
strings.Repeat("Go", 3)
// => "GoGoGo"

Speciális karakterek

Ahogy korábban említettük, néhány speciális karaktert egy kezdő visszaperjellel kell escape-elni. Az alábbi lista részletesebben bemutatja, melyek ezek a speciális karakterek:

Érték Leírás
\a Riasztás vagy csengő
\b Visszatörlés
\\ Visszaperjel
\t Vízszintes tabulátor
\n Soremelés vagy új sor
\f Lapdobás
\r Kocsivissza
\v Függőleges tabulátor
\' Egyszeres idézőjel
\" Kettős idézőjel
fmt.Println("Joe\nWilliam\nJack\nAverell") 

// Output:
// Joe
// William
// Jack
// Averell

Nyers string literálok

A nyers string literálok határolóként backticket (`) használnak a kettős idézőjelek helyett, és a bennük lévő összes karakter szó szerint értelmeződik, ami azt jelenti, hogy nem kell escape-elni a karaktereket vagy az új sorokat.

Íme egy példa egy többsoros stringre:

const daltons = `Joe
William
Jack
Averell`

Ennek a stringnek több sora van. Pontosabban 3 \n-t tartalmaz. Mivel azonban nyers string literálról van szó, nem kell a \n-t explicit módon a stringbe írnunk. Az új sorok szó szerint értelmeződnek.

Íme néhány további példa, amely nyers string literálokat hasonlít össze hagyományos string literálokkal:

`abc`
// same as "abc"

"\"" // regular string literal with 1 character: a double quote
// same as `"` a raw string literal with 1 character: a double quote

`\n
` // raw string literal with 3 character: a backslash, an 'n', and a newline
// same as "\\n\n"  a regular string literal with 3 characters: a backslash, an 'n', and a newline

"\t\n" // regular string literal with 2 characters: a tab and a newline
`\t\n`// raw string literal with 4 characters: two backslashes, a 't', and an 'n'
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Stringek fogalmat