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
> }
> ```
>

Reply via email to