tree 60437357fcce098436ff1f987c0ae63ad49f894c
parent f61ce42a1f30917f4b4522e87eb2a8baaee130ac
author zhangym <40376181+zhangymPerson@users.noreply.github.com> 1615727367 +0800
committer GitHub <noreply@github.com> 1615727367 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgTgsHCRBK7hj4Ov3rIwAAdHIIAHEfrWi6jZLBo24MigVvp8++
 xPw49JegzJ3n9E6vLL/vPq5AIyIhcMXgpzkcj4OUZhYxU2+prWsiAFPS8UMpN1U/
 Q6OecHXmXaYYZ31ml/oi8vXq0oNL2HLdB4ORjiJA0tuv4UfGso7svaUpk5yQ9MLK
 La1bl2C3U2Zm3DPIz1bpbZRSMBJm8huTTxeGAE2B3yNC/pOmw+HZxu2yrDBoq/3R
 zjKLdmiJoWo2CabMMgX4hzTW1vzZEp1ToRWJlz+HVEGk7Sz+pLHgL0jzJAaOtwv0
 80PeML2eFDYiUQO0Z8PvwLKbE8vDFW3G6e07M6dW+rpED3kQzMFyirbS7hyqXK4=
 =psja
 -----END PGP SIGNATURE-----
 

Fixes #232 Add go struct refer to java.util.UUID  (#256)

* add license checker

* dd javaProject java8time test code and add go hessian/java8_time strcut Year and testFunc

* alter author and error word

* add java.util.UUID encode

* Revert "reset go.mod after go fmt"

This reverts commit ab7254f3

* add UUID test

* alter .travis.yml

* alter code

* add license

* shift count type int, must be unsigned integer

* alter file name and delete test file

* alter file name

* delete file

* alter file name

* alter file name

* add uuid struct info and split import block.

* add java UUID encode and uuid.toString() equals go uuid.ToString() test func

* alter ToString() -> String()

* fix code review

Co-authored-by: zouyixian <zouyixian@shein.com>
Co-authored-by: wilson chen <willson.chenwx@gmail.com>
Co-authored-by: wangoo <wongoo@apache.org>