code: func NewSM4BlockCrypt(key []byte) (BlockCrypt, error) {
  	c := new(sm4BlockCrypt)
  	block, err := sm4.NewCipher(key)
  	if err != nil {
  		return nil, err
  	}
  	c.block = block
  	return c, nil
  }
docs: // NewSM4BlockCrypt https://github.com/tjfoc/gmsm/tree/master/sm4