К сожалению, это невозможно. Если вы хотите сократить объем писательской работы, можно найти обходной путь:
func NewColor(values ...uint8) Color {
return Color {
R: values [0], G: values [1], B: values [2], A: values [3],
}
}
Однако это опасно, если вы также не добавите проверки на выход за пределы. Вы можете добавить что-то подобное, чтобы предотвратить это, однако тогда это может привести к неправильному цвету:
if len(values) != 4 {
return Color {}
}
Затем вы можете просто создать цвет так, как вы хотели:
s := []uint8{50, 60, 100, 100}
color := NewColor(s...)
Надеюсь, это тебе поможет.