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を作成してください。
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の最初と最後の要素以外すべてを取得してください。
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のキャパシティ(容量)を調べてください。
func main() {
// slの要素数を数えてください
fmt.Println(len(sl)) // -> 5
// slのキャパシティ(容量)を調べてください
fmt.Println(cap(sl)) // -> 5
}
Q8.slに要素[6 7]を追加してください。
// slに要素[6 7]を追加してください
fmt.Println(append(sl, 6, 7)) // -> [1 2 3 4 5 6 7]