4.2 KiB
What's the result of this expression?
"\"Hello\\"" + ` \"World\"`
- "Hello" "World"
- "Hello" "World" CORRECT
- "Hello"
"World"
- ""Hello"
\"World\"
"
1: Go doesn't interpret the escape sequences in raw string literals.
2: That's right. Go interprets
\"
as"
but it doesn't do so for\"World\"
.
What's the best way to represent the following text in the code?
<xml>
<items>
<item>"Teddy Bear"</item>
</items>
</xml>
- CORRECT
`<xml>
<items>
<item>"Teddy Bear"</item>
</items>
</xml>`
"<xml>
<items>
<item>"Teddy Bear"</item>
</items>
</xml>"
"<xml>
<items>
<item>\"Teddy Bear\"</item>
</items>
</xml>"
`<xml>
<items>
<item>\"Teddy Bear\"</item>
</items>
</xml>`
2-3: You can't write a string literal like that. It can't be multiple-lines.
4: You don't need to use escape sequences inside raw string literals.
What's the result of the following expression?
len("lovely")
- 7
- 8
- 6 CORRECT
- 0
2: Remember! "a" is 1 char.
a
is also 1 char.
What's the result of the following expression?
len("very") + len(`\"cool\"`)
- 8
- 12 CORRECT
- 16
- 10
1: There are also double-quotes, count them as well.
2: That's right. Go doesn't interpreted " in raw string literals.
3: Remember! "very" is 4 characters.
very
is also 4 characters.4: Remember! Go doesn't interpreted " in raw string literals.
What's the result of the following expression?
len("very") + len("\"cool\"")
- 8
- 12
- 16
- 10 CORRECT
1: There are also double-quotes, count them as well.
2: Remember! Go interprets escape sequences in string literals.
4: That's right. Go does interpret " in a string literal. So, """ means ", which is 1 character.
What's the result of the following expression?
len("péripatéticien")
HINT: é is 2 bytes long. And, the len function counts the bytes not the letters.
USELESS INFORMATION: "péripatéticien" means "wanderer".
- 14
- 16 CORRECT
- 18
- 20
1: Remember! é is 2 bytes long.
2: An english letter is 1 byte long. However, é is 2 bytes long. So, that makes up 16 bytes. Cool.
3: You didn't count the double-quotes, did you?
How can you find the correct length of the characters in this string literal?
"péripatéticien"
len(péripatéticien)
len("péripatéticien")
utf8.RuneCountInString("péripatéticien")
CORRECTunicode/utf8.RuneCountInString("péripatéticien")
1: Where are the double-quotes?
2: This only finds the bytes in a string value.
4: You're close. But, the package's name is utf8 not unicode/utf8.
What's the result of the following expression?
utf8.RuneCountInString("péripatéticien")
- 16
- 14 CORRECT
- 18
- 20
1: This is its byte count.
RuneCountInString
counts the runes (codepoints) not the bytes.2: That's right.
RuneCountInString
returns the number of runes (codepoints) in a string value.
Which package contains string manipulation functions?
- string
- unicode/utf8
- strings CORRECT
- unicode/strings
What's the result of this expression?
strings.Repeat("*x", 3) + "*"
HINT: Repeat function repeats the given string.
*x*x*x
x*x*x
*x3
*x*x*x*
CORRECT
1: You're close but you missed the concatenation at the end.
2: Look closely.
3: Wow! You should really watch the lectures again. Sorry.
4: That's right. Repeat function repeats the given string. And, the concatenation operator combines the strings.
What's the result of this expression?
strings.ToUpper("bye bye ") + "see you!"
bye bye see you!
BYE BYE SEE YOU!
bye bye + see you!
BYE BYE see you!
CORRECT
1: You missed the ToUpper?
2: You're close but look closely. ToUpper only changes the first part of the string there.
3: Not even close. Sorry.
4: Perfect! Good catch! ToUpper only changes the first part of the string there.