Menu
Coddy logo textTech

スライスのコピー

CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 82/109。

Goのcopy関数を使用すると、あるスライスから別のスライスへ要素をコピーできます。

ソーススライスとコピー先のスライスを作成します:

source := []int{1, 2, 3}
dest := make([]int, 2)  // 長さ2のコピー先

// ソースからコピー先にコピーします
copied := copy(dest, source)

fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)

結果:

Source: [1 2 3]
Destination: [1 2]
Number of elements copied: 2

copy 関数は、コピー先のスライスに収まる数だけの要素のみをコピーします。

challenge icon

チャレンジ

初心者

このチャレンジでは、copy 関数を使用して、あるスライスから別のスライスへ要素をコピーする練習をします。

2つのスライスがあります。果物の名前が含まれている source と、3つの要素分の容量を持つ空のスライスである destination です。あなたのタスクは、copy 関数を使用して source から destination へ要素をコピーすることです。

コピーした後、destination スライスの内容をプリントしてください。

チートシート

copy 関数は、あるスライスから別のスライスへ要素をコピーします:

source := []int{1, 2, 3}
dest := make([]int, 2)  // 長さ2のコピー先

// ソースからコピー先へコピー
copied := copy(dest, source)

fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)

copy 関数は、コピー先のスライスに収まる数だけの要素をコピーし、コピーされた要素の数を返します。

自分で試してみよう

package main

import "fmt"

func main() {
	// 果物の名前が含まれるソーススライス
	source := []string{"apple", "banana", "cherry", "date"}
	
	// 3つの要素分の容量を持つコピー先スライスを作成
	destination := make([]string, 3)
	
	// TODO: copy関数を使用して、ソースからコピー先に要素をコピーする
	
	
	// コピー先のスライスをプリント
	fmt.Println("Destination slice:", destination)
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン