Golang 배열 변환은 한 유형의 배열을 다른 유형의 배열로 변환하는 것을 의미합니다. Golang은 배열 변환을 쉽게 구현할 수 있는 몇 가지 내장 함수와 메서드를 제공합니다.
1. 배열 유형 변환
Golang에서는 서로 다른 숫자 유형 배열을 서로 변환할 수 있습니다. 예를 들어 int 유형 배열은 float32 또는 float64 유형 배열로, float32 유형으로 변환할 수 있습니다. 배열은 int 유형의 배열로 변환될 수 있습니다. 이 배열 유형 변환은 주로 유형 어설션을 통해 이루어집니다. 예:
var a = [5]int{1, 2, 3, 4, 5} var b = [5]float64{1.1, 2.2, 3.3, 4.4, 5.5} // 将a转换为float64类型数组 c := make([]float64, len(a)) for i, v := range a { c[i] = float64(v) } // 将b转换为int类型数组 d := make([]int, len(b)) for i, v := range b { d[i] = int(v) }
여기에서는 make() 함수를 사용하여 새 배열을 만들고 원본 배열의 각 요소는 루프를 통해 대상 배열의 요소로 변환됩니다. . 이 유형 변환은 숫자 유형 간에만 수행될 수 있으며 문자열 유형 배열을 숫자 유형 배열로 직접 변환할 수 없다는 점에 유의해야 합니다.
문자열 유형 배열의 변환은 문자열 유형이 유형 어설션을 지원하지 않기 때문에 상대적으로 복잡합니다. Golang에서는 strconv 패키지에서 제공하는 함수를 사용하여 문자열 배열을 숫자형 배열로 변환할 수 있습니다. 예:
var s = [5]string{"1", "2", "3", "4", "5"} // 将s转换为int类型数组 e := make([]int, len(s)) for i, v := range s { e[i], _ = strconv.Atoi(v) } // 将s转换为float64类型数组 f := make([]float64, len(s)) for i, v := range s { f[i], _ = strconv.ParseFloat(v, 64) }
여기서는 strconv 패키지에서 제공하는 Atoi() 및 ParseFloat() 함수를 사용하여 문자열 배열을 숫자형 배열로 변환합니다. 문자열을 숫자 유형으로 변환합니다. 이러한 함수에도 제한이 있다는 점에 유의해야 합니다. 예를 들어 문자열이 올바른 숫자 형식이 아닌 경우 변환이 실패합니다.
2. 배열 요소 변환
전체 배열 유형 변환 외에도 때로는 배열의 개별 요소를 변환해야 하는 경우도 있습니다. Golang에서는 for 루프를 통해 배열을 순회하고 배열 요소를 하나씩 대상 유형으로 변환할 수 있습니다. 예:
var g = [5]int{1, 2, 3, 4, 5} // 将g中所有元素转换为float64类型 for i := 0; i < len(g); i++ { g[i] = int(float64(g[i]) * 1.5) }
여기서는 부동 소수점 곱셈을 사용하여 배열 요소에 1.5를 곱한 다음 유형을 지정합니다. int 유형으로 캐스팅됩니다. 이 접근 방식은 원래 배열을 직접 수정한다는 점에 유의해야 합니다. 원래 배열을 유지해야 하는 경우 요소를 하나씩 새 배열에 저장할 수 있습니다. 예:
var h = [5]int{1, 2, 3, 4, 5} // 将g中所有元素转换为float64类型 j := make([]float64, len(h)) for i, v := range h { j[i] = float64(v) * 1.5 }
여기에서는 새 배열 j를 만들고 g의 각 요소를 float64 유형으로 변환한 다음 1.5를 곱하고 결과를 대상 배열에 저장합니다.
요약:
배열 변환은 Golang에서 일반적인 작업입니다. 형식 어설션 및 형식 변환을 통해 배열을 변환하고 배열 요소를 하나씩 변환할 수도 있습니다. 배열 요소를 변환하면 원본 배열에 직접적인 영향을 미치므로 배열 변환을 수행할 때 데이터 보안에 주의해야 합니다.
위 내용은 골랭 배열 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!