0
0

More than 3 years have passed since last update.

初心者向けGo問題集~スライス編~

Last updated at Posted at 2021-03-24

Goの”基礎文法”を勉強中の方に向けた問題集です!

書籍や動画を使用したインプット中心の勉強になっていると感じたので、問題を作成してアプトプットすることにしました。(自身も初心者なので、問題集で間違っている箇所があれば教えてください。)


スライス編

=問題=

Q1.実行結果が[1 2 3 4 5]となるスライスslを作成してください。

Q2.slの最初の要素を取得してください。
Q3.slの2番目から3番目の要素を取得してください。
Q4.最後の要素を取得してください。
Q5.slの最初と最後の要素以外すべてを取得してください。

Q6.slの要素数を調べてください。
Q7.slのキャパシティ(容量)を調べてください。

Q8.slに要素[6 7]を追加してください。


=解答=

Q1.実行結果が[1 2 3 4 5]となるスライスslを作成してください。

A1.go
func main() {
//明示的
    var sl []int = []int{1, 2, 3, 4, 5}
    fmt.Println(sl) // -> [1 2 3 4 5]
//暗示的
    sl := []int{1, 2, 3, 4, 5}
    fmt.Println(sl) // -> [1 2 3 4 5]
}

実行結果が[1 2 3 4 5]となるスライスslがあります。
Q2.slの最初の要素を取得してください。
Q3.slの2番目から3番目の要素を取得してください。
Q4.最後の要素を取得してください。
Q5.slの最初と最後の要素以外すべてを取得してください。

A2~5.go
func main() {
//slの最初の要素を取得してください
    fmt.Println(sl[0]) // -> 1
//slの2番目から3番目の要素を取得してください
    fmt.Println(sl[1: 3]) // -> [2 3]
//最後の要素を取得してください
    fmt.Println(sl[len(sl)-1]) // -> 5
//slの最初と最後の要素以外すべてを取得してください
    fmt.Println(sl[1: len(sl)-1]) // -> [2 3 4]
}

Q6.slの要素数を調べてください。
Q7.slのキャパシティ(容量)を調べてください。

A6~7.go
func main() {
// slの要素数を数えてください
    fmt.Println(len(sl)) // -> 5
// slのキャパシティ(容量)を調べてください
    fmt.Println(cap(sl)) // -> 5
}

Q8.slに要素[6 7]を追加してください。

A8.go
// slに要素[6 7]を追加してください
    fmt.Println(append(sl, 6, 7)) // -> [1 2 3 4 5 6 7]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0