As mentioned, In 1.18 generics were added … in the AI generated summary 1.19 an 1.20 were summarized as refining of 1.18. I remember that with the introduction not everything was perfect initially and they fine tuned that quite a bit.
But that doesn’t quite mean in go it’s like in java. In Go, if you use a library, the dependency is pulled as source and compiled inside the using project. But I think you can’t use a library in a project that uses a lower library than the code requires. Chris Von: Yuan Tian <[email protected]> Datum: Sonntag, 1. März 2026 um 01:23 An: [email protected] <[email protected]> Betreff: Re: [VOTE] Discussion on upgrading the IOTDB-CLIENT-GO Golang version Hi lei, Thanks for initiating this discussion and vote. I am not very familiar with the Go language, so I'd appreciate it if you could provide a brief summary of the main differences and improvements between Go 1.18 and Go 1.20. This would help me make a more informed decision for my vote. Thanks, Yuan On Fri, Feb 27, 2026 at 6:32 PM 张磊 <[email protected]> wrote: > I propose upgrading the iotb-client-go GOLANG version and would like to > initiate a vote with the following options: > > Maintain version 1.13 > Upgrade to version 1.18 > Upgrade to version 1.20 > > Regarding the modification, for cases like where id = ? where the value > type is uncertain, Go requires normalization for type conversion. Refer to > this code example: > > > https://github.com/apache/iotdb-client-go/pull/150/changes#diff-cfadcaa82f9183622d5fc375535f66d6fe46889e64f71ec30a745b335748ca5eR323 > > > > > ``` > > func join[E any](tz *time.Location, scale TimeUnit, values []E) (string, > error) { > items := make([]string, len(values), len(values)) > for i := range values { > val, err := format(tz, scale, values[i]) > if err != nil { > return "", err > } > items[i] = val > } > return strings.Join(items, ", "), nil > } > ``` >
