Slice는 Golang의 특별한 데이터 구조입니다. 이 데이터 구조는 데이터 컬렉션을 사용하고 관리하기가 더 쉽습니다. 슬라이스는 필요에 따라 자동으로 확장 및 축소할 수 있는 동적 배열 개념을 기반으로 구축되었습니다.
make() 함수를 통해 슬라이스 생성
Golang에 내장된 make() 함수를 사용하여 슬라이스를 생성합니다. 이때 슬라이스 길이를 지정하는 매개변수를 전달해야 합니다.
// 创建一个整型切片 // 其长度和容量都是 5 个元素 slice := make([]int, 5)
이때 슬라이스의 길이만 지정하면 슬라이스의 용량과 길이가 동일해집니다. 길이와 용량을 별도로 지정할 수도 있습니다.
// 创建一个整型切片 // 其长度为 3 个元素,容量为 5 个元素 slice := make([]int, 3, 5)
길이와 용량을 별도로 지정하면 생성된 슬라이스와 기본 배열의 길이가 지정된 용량이 되지만, 초기화 후에 모든 배열 요소에 접근할 수 있는 것은 아닙니다.
Golang은 길이보다 작은 용량의 슬라이스 생성을 허용하지 않습니다. 생성된 슬라이스의 용량이 길이보다 작은 경우 컴파일 타임에 오류가 보고됩니다.
// 创建一个整型切片 // 使其长度大于容量 myNum := make([]int, 5, 3)
리터럴
슬라이스를 생성하는 데 일반적으로 사용되는 또 다른 방법은 슬라이스 리터럴을 사용하는 것입니다. 이 방법은 [] 연산자에 값을 지정할 필요가 없다는 점을 제외하면 배열을 생성하는 것과 유사합니다. 초기 길이와 용량은 초기화 중에 제공된 요소 수에 따라 결정됩니다.
// 创建字符串切片 // 其长度和容量都是 3 个元素 myStr := []string{"Jack", "Mark", "Nick"} // 创建一个整型切片 // 其长度和容量都是 4 个元素 myNum := []int{10, 20, 30, 40}
슬라이스 리터럴을 사용하여 슬라이스를 생성할 때 초기 길이와 용량도 설정할 수 있습니다. 초기화 시 필요한 길이와 용량을 인덱스로 제공하기만 하면 됩니다. 다음 구문은 인덱싱을 사용하여 길이와 용량이 100개 요소인 슬라이스를 만드는 방법을 보여줍니다.
// 创建字符串切片 // 使用空字符串初始化第 100 个元素 myStr := []string{99: ""}
더 많은 Golang 지식을 보려면 golang 튜토리얼 열을 주의하세요.
위 내용은 golang 슬라이싱에는 make가 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!