go Strings, Runes and Bytes Quiz

2026-08-30 浏览 (1)

Strings, Runes and Bytes Quiz

Which byte slice below equals to the "keeper" string?

// Here are the corresponding code points for the runes of "keeper":
// k => 107
// e => 101
// p => 112
// r => 114
  1. []byte{107, 101, 101, 112, 101, 114} CORRECT
  2. []byte{112, 101, 101, 112, 114, 101}
  3. []byte{114, 101, 112, 101, 101, 112}
  4. []byte{112, 101, 101, 114, 107, 101}

What does this code print?

// Code points:
// g => 103
// o => 111
fmt.Println(string(103), string(111))
  1. 103 111
  2. g o CORRECT
  3. n o
  4. "103 111"

What does this code print?

const word = "gökyüzü"
bword := []byte(word)

// ö => 2 bytes
// ü => 2 bytes
fmt.Println(utf8.RuneCount(bword), len(word), len(string(word[1])))
  1. 7 10 2 CORRECT
  2. 10 7 1
  3. 10 7 2
  4. 7 7 1

Which one below is true?

  1. for range loops over the bytes of a string
  2. for range loops over the runes of a string CORRECT

For a utf-8 encoded string value, which one below is true?

  1. runes always start and end in the same indexes
  2. runes may start and end in different indexes CORRECT
  3. bytes may start and end in different indexes

Why can't you change the bytes of a string value?

  1. Strings values are immutable byte slices
  2. Strings are used a lot so they are being shared behind the scenes
  3. All of above CORRECT

你可能感兴趣的文章

go main

go main

go main

go main

go main

go Header

go main

go main

go main

go main

  • 所属分类: 后端技术
  • 本文标签: golang
  • 版权声明: 本文链接 https://seaxiang.com/blog/KP0XkiBD