もちろん！これが同等のGOプログラムです：
「行きます
パッケージメイン

輸入 （
「エラー」
「FMT」
））

func minmaxnormalization（arr [] float64、revidmin、revidmax *float64）（[] float64、error）{
LEN（arr）== 0の場合{
nil、errors.new（ "入力配列は空になることはできません"）を返します）
}

var min、max float64
reventmin！= nil && suldmax！= nil {
if *revidmin == *revidmax {
nil、errors.newを返します（「提供された最小値と最大値が等しくない」）
}
min、max = *revidmin、 *revidmax
} それ以外 {
min、max = arr [0]、arr [0]
_、v：= range arr {
v <min {の場合{
min = v
}
v> max {
max = v
}
}
}

min == maxの場合{
nil、errors.new（ "入力配列には少なくとも2つの異なる値が必要です"））
}

remarizedarr：= make（[] float64、len（arr））
i、v：= range arr {
remarizedarr [i] =（v -min） /（max -min）
}
return remarizedarr、nil
}

func main（）{
arr：= [] float64 {2、4、6、8、10}

remarizedarr、err：= minmaxnormalization（arr、nil、nil）
err！= nil {
パニック（err）
}
fmt.println（remormizedArr）

Minval：= float64（0）
Maxval：= float64（12）
remarizedarr2、err：= minmaxnormalization（arr、＆＆minval、＆maxval）
err！= nil {
パニック（err）
}
fmt.println（remarizedarr2）
}
`` `
goに「numpy」モジュールがない場合、ループを使用して入力配列の最小値と最大値を計算する必要があることに注意してください。
Sure! Here's an equivalent Go program:
```go
package main

import (
	"errors"
	"fmt"
)

func minMaxNormalization(arr []float64, providedMin, providedMax *float64) ([]float64, error) {
	if len(arr) == 0 {
		return nil, errors.New("input array cannot be empty")
	}

	var min, max float64
	if providedMin != nil && providedMax != nil {
		if *providedMin == *providedMax {
			return nil, errors.New("provided minimum and maximum values cannot be equal")
		}
		min, max = *providedMin, *providedMax
	} else {
		min, max = arr[0], arr[0]
		for _, v := range arr {
			if v < min {
				min = v
			}
			if v > max {
				max = v
			}
		}
	}

	if min == max {
		return nil, errors.New("input array must have at least two distinct values")
	}

	normalizedArr := make([]float64, len(arr))
	for i, v := range arr {
		normalizedArr[i] = (v - min) / (max - min)
	}
	return normalizedArr, nil
}

func main() {
	arr := []float64{2, 4, 6, 8, 10}

	normalizedArr, err := minMaxNormalization(arr, nil, nil)
	if err != nil {
		panic(err)
	}
	fmt.Println(normalizedArr)

	minVal := float64(0)
	maxVal := float64(12)
	normalizedArr2, err := minMaxNormalization(arr, &minVal, &maxVal)
	if err != nil {
		panic(err)
	}
	fmt.Println(normalizedArr2)
}
```
Note that, with the absence of the `numpy` module in Go, we have to calculate the minimum and maximum values of the input array manually using a loop.