diff --git a/cluster/cluster_impl/available_cluster_invoker_test.go b/cluster/cluster_impl/available_cluster_invoker_test.go
index 063100020ad36192a051d1e736af7264cd8df42d..948f2077b22e6b8c89428d923537048bc284392c 100644
--- a/cluster/cluster_impl/available_cluster_invoker_test.go
+++ b/cluster/cluster_impl/available_cluster_invoker_test.go
@@ -40,10 +40,8 @@ import (
 	"github.com/apache/dubbo-go/protocol/mock"
 )
 
-var (
-	availableUrl, _ = common.NewURL(fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider",
-		constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
-)
+var availableUrl, _ = common.NewURL(fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider",
+	constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
 
 func registerAvailable(invoker *mock.MockInvoker) protocol.Invoker {
 	extension.SetLoadbalance("random", loadbalance.NewRandomLoadBalance)
diff --git a/cluster/cluster_impl/base_cluster_invoker.go b/cluster/cluster_impl/base_cluster_invoker.go
index 0d39bff13ee3a917268dd2ee82e8f6aff7ccecbc..2df5f36b1dd54f35c28960b2f7ae2a19c75c1291 100644
--- a/cluster/cluster_impl/base_cluster_invoker.go
+++ b/cluster/cluster_impl/base_cluster_invoker.go
@@ -56,7 +56,7 @@ func (invoker *baseClusterInvoker) GetUrl() *common.URL {
 }
 
 func (invoker *baseClusterInvoker) Destroy() {
-	//this is must atom operation
+	// this is must atom operation
 	if invoker.destroyed.CAS(false, true) {
 		invoker.directory.Destroy()
 	}
@@ -69,7 +69,7 @@ func (invoker *baseClusterInvoker) IsAvailable() bool {
 	return invoker.directory.IsAvailable()
 }
 
-//check invokers availables
+// check invokers availables
 func (invoker *baseClusterInvoker) checkInvokers(invokers []protocol.Invoker, invocation protocol.Invocation) error {
 	if len(invokers) == 0 {
 		ip := common.GetLocalIp()
@@ -78,10 +78,9 @@ func (invoker *baseClusterInvoker) checkInvokers(invokers []protocol.Invoker, in
 			invocation.MethodName(), invoker.directory.GetUrl().SubURL.Key(), invoker.directory.GetUrl().String(), ip, constant.Version)
 	}
 	return nil
-
 }
 
-//check cluster invoker is destroyed or not
+// check cluster invoker is destroyed or not
 func (invoker *baseClusterInvoker) checkWhetherDestroyed() error {
 	if invoker.destroyed.Load() {
 		ip := common.GetLocalIp()
@@ -99,7 +98,7 @@ func (invoker *baseClusterInvoker) doSelect(lb cluster.LoadBalance, invocation p
 
 	url := invokers[0].GetUrl()
 	sticky := url.GetParamBool(constant.STICKY_KEY, false)
-	//Get the service method sticky config if have
+	// Get the service method sticky config if have
 	sticky = url.GetMethodParamBool(invocation.MethodName(), constant.STICKY_KEY, sticky)
 
 	if invoker.stickyInvoker != nil && !isInvoked(invoker.stickyInvoker, invokers) {
@@ -135,7 +134,7 @@ func (invoker *baseClusterInvoker) doSelectInvoker(lb cluster.LoadBalance, invoc
 
 	selectedInvoker := lb.Select(invokers, invocation)
 
-	//judge if the selected Invoker is invoked and available
+	// judge if the selected Invoker is invoked and available
 	if (!selectedInvoker.IsAvailable() && invoker.availablecheck) || isInvoked(selectedInvoker, invoked) {
 		protocol.SetInvokerUnhealthyStatus(selectedInvoker)
 		otherInvokers := getOtherInvokers(invokers, selectedInvoker)
@@ -193,10 +192,10 @@ func getLoadBalance(invoker protocol.Invoker, invocation protocol.Invocation) cl
 	url := invoker.GetUrl()
 
 	methodName := invocation.MethodName()
-	//Get the service loadbalance config
+	// Get the service loadbalance config
 	lb := url.GetParam(constant.LOADBALANCE_KEY, constant.DEFAULT_LOADBALANCE)
 
-	//Get the service method loadbalance config if have
+	// Get the service method loadbalance config if have
 	if v := url.GetMethodParam(methodName, constant.LOADBALANCE_KEY, ""); len(v) > 0 {
 		lb = v
 	}
diff --git a/cluster/cluster_impl/broadcast_cluster_invoker.go b/cluster/cluster_impl/broadcast_cluster_invoker.go
index b117dbb246bec6fed6ced4fb4abcdeb4a4b7cee5..52ae65c698070c0a568a7b60c68ace29f639875a 100644
--- a/cluster/cluster_impl/broadcast_cluster_invoker.go
+++ b/cluster/cluster_impl/broadcast_cluster_invoker.go
@@ -20,6 +20,7 @@ package cluster_impl
 import (
 	"context"
 )
+
 import (
 	"github.com/apache/dubbo-go/cluster"
 	"github.com/apache/dubbo-go/common/logger"
diff --git a/cluster/cluster_impl/broadcast_cluster_invoker_test.go b/cluster/cluster_impl/broadcast_cluster_invoker_test.go
index 08d0002ee79b2f3fda5a50ce90747c0aaad91932..a654fb7a8066bc02484f07546d4203be79bb8ae0 100644
--- a/cluster/cluster_impl/broadcast_cluster_invoker_test.go
+++ b/cluster/cluster_impl/broadcast_cluster_invoker_test.go
@@ -40,10 +40,8 @@ import (
 	"github.com/apache/dubbo-go/protocol/mock"
 )
 
-var (
-	broadcastUrl, _ = common.NewURL(
-		fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
-)
+var broadcastUrl, _ = common.NewURL(
+	fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
 
 func registerBroadcast(mockInvokers ...*mock.MockInvoker) protocol.Invoker {
 	extension.SetLoadbalance("random", loadbalance.NewRandomLoadBalance)
diff --git a/cluster/cluster_impl/failback_cluster_invoker.go b/cluster/cluster_impl/failback_cluster_invoker.go
index 5e0d133a670160df4acf321ea05356cb2a45a8b5..2ed1bae0d5770174f8e5d2af8f5eb00cced1189d 100644
--- a/cluster/cluster_impl/failback_cluster_invoker.go
+++ b/cluster/cluster_impl/failback_cluster_invoker.go
@@ -137,10 +137,10 @@ func (invoker *failbackClusterInvoker) Invoke(ctx context.Context, invocation pr
 		return &protocol.RPCResult{}
 	}
 
-	//Get the service loadbalance config
+	// Get the service loadbalance config
 	url := invokers[0].GetUrl()
 	lb := url.GetParam(constant.LOADBALANCE_KEY, constant.DEFAULT_LOADBALANCE)
-	//Get the service method loadbalance config if have
+	// Get the service method loadbalance config if have
 	methodName := invocation.MethodName()
 	if v := url.GetMethodParam(methodName, constant.LOADBALANCE_KEY, ""); v != "" {
 		lb = v
@@ -149,7 +149,7 @@ func (invoker *failbackClusterInvoker) Invoke(ctx context.Context, invocation pr
 	loadBalance := extension.GetLoadbalance(lb)
 	invoked := make([]protocol.Invoker, 0, len(invokers))
 	ivk := invoker.doSelect(loadBalance, invocation, invokers, invoked)
-	//DO INVOKE
+	// DO INVOKE
 	result := ivk.Invoke(ctx, invocation)
 	if result.Error() != nil {
 		invoker.once.Do(func() {
diff --git a/cluster/cluster_impl/failback_cluster_test.go b/cluster/cluster_impl/failback_cluster_test.go
index d36e16e2693f0926f8c8e39b6cd328b688ffa4b2..8fbd24f0e366f8374e2f8e4ca6654cf9aff2b71e 100644
--- a/cluster/cluster_impl/failback_cluster_test.go
+++ b/cluster/cluster_impl/failback_cluster_test.go
@@ -42,10 +42,8 @@ import (
 	"github.com/apache/dubbo-go/protocol/mock"
 )
 
-var (
-	failbackUrl, _ = common.NewURL(
-		fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
-)
+var failbackUrl, _ = common.NewURL(
+	fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
 
 // registerFailback register failbackCluster to cluster extension.
 func registerFailback(invoker *mock.MockInvoker) protocol.Invoker {
diff --git a/cluster/cluster_impl/failfast_cluster_invoker.go b/cluster/cluster_impl/failfast_cluster_invoker.go
index d71ef5f5a1dfed2d29f6ae4f29fb08d34aae9c5d..a7faa1b3b51474320b79d7befb98608753ba5071 100644
--- a/cluster/cluster_impl/failfast_cluster_invoker.go
+++ b/cluster/cluster_impl/failfast_cluster_invoker.go
@@ -20,6 +20,7 @@ package cluster_impl
 import (
 	"context"
 )
+
 import (
 	"github.com/apache/dubbo-go/cluster"
 	"github.com/apache/dubbo-go/protocol"
diff --git a/cluster/cluster_impl/failfast_cluster_test.go b/cluster/cluster_impl/failfast_cluster_test.go
index 9ac06b8d4a7bec39b08a308cc52fe41e9524b1c0..6577c991239bd8761f81532bf52b5ba28cfee05e 100644
--- a/cluster/cluster_impl/failfast_cluster_test.go
+++ b/cluster/cluster_impl/failfast_cluster_test.go
@@ -40,10 +40,8 @@ import (
 	"github.com/apache/dubbo-go/protocol/mock"
 )
 
-var (
-	failfastUrl, _ = common.NewURL(
-		fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
-)
+var failfastUrl, _ = common.NewURL(
+	fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
 
 // registerFailfast register failfastCluster to cluster extension.
 func registerFailfast(invoker *mock.MockInvoker) protocol.Invoker {
diff --git a/cluster/cluster_impl/failover_cluster_invoker.go b/cluster/cluster_impl/failover_cluster_invoker.go
index ca490e7f8e2ff44303abe7d695313153b7466a00..3d070c1c2706ed9667cf445495578d7c4c18d9da 100644
--- a/cluster/cluster_impl/failover_cluster_invoker.go
+++ b/cluster/cluster_impl/failover_cluster_invoker.go
@@ -64,8 +64,8 @@ func (invoker *failoverClusterInvoker) Invoke(ctx context.Context, invocation pr
 	loadBalance := getLoadBalance(invokers[0], invocation)
 
 	for i := 0; i <= retries; i++ {
-		//Reselect before retry to avoid a change of candidate `invokers`.
-		//NOTE: if `invokers` changed, then `invoked` also lose accuracy.
+		// Reselect before retry to avoid a change of candidate `invokers`.
+		// NOTE: if `invokers` changed, then `invoked` also lose accuracy.
 		if i > 0 {
 			if err := invoker.checkWhetherDestroyed(); err != nil {
 				return &protocol.RPCResult{Err: err}
@@ -81,7 +81,7 @@ func (invoker *failoverClusterInvoker) Invoke(ctx context.Context, invocation pr
 			continue
 		}
 		invoked = append(invoked, ivk)
-		//DO INVOKE
+		// DO INVOKE
 		result = ivk.Invoke(ctx, invocation)
 		if result.Error() != nil {
 			providers = append(providers, ivk.GetUrl().Key())
@@ -105,7 +105,8 @@ func (invoker *failoverClusterInvoker) Invoke(ctx context.Context, invocation pr
 			"Tried %v times of the providers %v (%v/%v)from the registry %v on the consumer %v using the dubbo version %v. "+
 			"Last error is %+v.", methodName, invokerSvc, retries, providers, len(providers), len(invokers),
 			invokerUrl, ip, constant.Version, result.Error().Error()),
-		)}
+		),
+	}
 }
 
 func getRetries(invokers []protocol.Invoker, methodName string) int {
@@ -114,9 +115,9 @@ func getRetries(invokers []protocol.Invoker, methodName string) int {
 	}
 
 	url := invokers[0].GetUrl()
-	//get reties
+	// get reties
 	retriesConfig := url.GetParam(constant.RETRIES_KEY, constant.DEFAULT_RETRIES)
-	//Get the service method loadbalance config if have
+	// Get the service method loadbalance config if have
 	if v := url.GetMethodParam(methodName, constant.RETRIES_KEY, ""); len(v) != 0 {
 		retriesConfig = v
 	}
diff --git a/cluster/cluster_impl/failover_cluster_test.go b/cluster/cluster_impl/failover_cluster_test.go
index 3ea6232d4747f722c5a933cc056ff06304913965..dd43e0ff8ac151f6813fff3b2ae536163d8c15a3 100644
--- a/cluster/cluster_impl/failover_cluster_test.go
+++ b/cluster/cluster_impl/failover_cluster_test.go
@@ -23,6 +23,7 @@ import (
 	"net/url"
 	"testing"
 )
+
 import (
 	perrors "github.com/pkg/errors"
 	"github.com/stretchr/testify/assert"
diff --git a/cluster/cluster_impl/failsafe_cluster_invoker.go b/cluster/cluster_impl/failsafe_cluster_invoker.go
index 27c59fff18d4a93fc693d7edbca467e0ffef549a..29d888475c5c9456d897d914d34ee105c5675792 100644
--- a/cluster/cluster_impl/failsafe_cluster_invoker.go
+++ b/cluster/cluster_impl/failsafe_cluster_invoker.go
@@ -20,6 +20,7 @@ package cluster_impl
 import (
 	"context"
 )
+
 import (
 	"github.com/apache/dubbo-go/cluster"
 	"github.com/apache/dubbo-go/common/constant"
@@ -56,9 +57,9 @@ func (invoker *failsafeClusterInvoker) Invoke(ctx context.Context, invocation pr
 
 	url := invokers[0].GetUrl()
 	methodName := invocation.MethodName()
-	//Get the service loadbalance config
+	// Get the service loadbalance config
 	lb := url.GetParam(constant.LOADBALANCE_KEY, constant.DEFAULT_LOADBALANCE)
-	//Get the service method loadbalance config if have
+	// Get the service method loadbalance config if have
 	if v := url.GetMethodParam(methodName, constant.LOADBALANCE_KEY, ""); v != "" {
 		lb = v
 	}
@@ -68,7 +69,7 @@ func (invoker *failsafeClusterInvoker) Invoke(ctx context.Context, invocation pr
 	var result protocol.Result
 
 	ivk := invoker.doSelect(loadbalance, invocation, invokers, invoked)
-	//DO INVOKE
+	// DO INVOKE
 	result = ivk.Invoke(ctx, invocation)
 	if result.Error() != nil {
 		// ignore
diff --git a/cluster/cluster_impl/failsafe_cluster_test.go b/cluster/cluster_impl/failsafe_cluster_test.go
index 5e208bdddee335cc5dff6beed5ab34243831dbb5..95e114596adda2bbd1d57a53386a451e9f8142bc 100644
--- a/cluster/cluster_impl/failsafe_cluster_test.go
+++ b/cluster/cluster_impl/failsafe_cluster_test.go
@@ -40,10 +40,8 @@ import (
 	"github.com/apache/dubbo-go/protocol/mock"
 )
 
-var (
-	failsafeUrl, _ = common.NewURL(
-		fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
-)
+var failsafeUrl, _ = common.NewURL(
+	fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
 
 // registerFailsafe register failsafeCluster to cluster extension.
 func registerFailsafe(invoker *mock.MockInvoker) protocol.Invoker {
diff --git a/cluster/cluster_impl/forking_cluster_test.go b/cluster/cluster_impl/forking_cluster_test.go
index a2fa136d312db900f45449c92a59009c6661571c..6549be57ac87a9faa86e50133580ded963c9d450 100644
--- a/cluster/cluster_impl/forking_cluster_test.go
+++ b/cluster/cluster_impl/forking_cluster_test.go
@@ -42,10 +42,8 @@ import (
 	"github.com/apache/dubbo-go/protocol/mock"
 )
 
-var (
-	forkingUrl, _ = common.NewURL(
-		fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
-)
+var forkingUrl, _ = common.NewURL(
+	fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", constant.LOCAL_HOST_VALUE, constant.DEFAULT_PORT))
 
 func registerForking(mockInvokers ...*mock.MockInvoker) protocol.Invoker {
 	extension.SetLoadbalance(loadbalance.RoundRobin, loadbalance.NewRoundRobinLoadBalance)
@@ -72,7 +70,7 @@ func TestForkingInvokeSuccess(t *testing.T) {
 
 	mockResult := &protocol.RPCResult{Rest: rest{tried: 0, success: true}}
 	forkingUrl.AddParam(constant.FORKS_KEY, strconv.Itoa(3))
-	//forkingUrl.AddParam(constant.TIMEOUT_KEY, strconv.Itoa(constant.DEFAULT_TIMEOUT))
+	// forkingUrl.AddParam(constant.TIMEOUT_KEY, strconv.Itoa(constant.DEFAULT_TIMEOUT))
 
 	var wg sync.WaitGroup
 	wg.Add(2)
diff --git a/cluster/cluster_impl/zone_aware_cluster_invoker.go b/cluster/cluster_impl/zone_aware_cluster_invoker.go
index 050f831f06c65c9d3e7cbb5123123281ec55df89..9834d87173af623ffa7d0fa5b326bbc878344266 100644
--- a/cluster/cluster_impl/zone_aware_cluster_invoker.go
+++ b/cluster/cluster_impl/zone_aware_cluster_invoker.go
@@ -125,7 +125,6 @@ func (invoker *zoneAwareClusterInvoker) BeforeInvoker(ctx context.Context, invoc
 }
 
 func (invoker *zoneAwareClusterInvoker) AfterInvoker(ctx context.Context, invocation protocol.Invocation) {
-
 }
 
 func matchParam(target, key, def string, invoker protocol.Invoker) bool {
diff --git a/cluster/cluster_impl/zone_aware_cluster_invoker_test.go b/cluster/cluster_impl/zone_aware_cluster_invoker_test.go
index 7f77f33166de293836c15391f5eedd5a18084dbe..d6817458a3100f96fadeb0ebe6551726429ca6ce 100644
--- a/cluster/cluster_impl/zone_aware_cluster_invoker_test.go
+++ b/cluster/cluster_impl/zone_aware_cluster_invoker_test.go
@@ -41,11 +41,12 @@ func TestZoneWareInvokerWithPreferredSuccess(t *testing.T) {
 	ctrl := gomock.NewController(t)
 	// In Go versions 1.14+, if you pass a *testing.T
 	// into gomock.NewController(t) you no longer need to call ctrl.Finish().
-	//defer ctrl.Finish()
+	// defer ctrl.Finish()
 
 	mockResult := &protocol.RPCResult{
 		Attrs: map[string]interface{}{constant.PREFERRED_KEY: "true"},
-		Rest:  rest{tried: 0, success: true}}
+		Rest:  rest{tried: 0, success: true},
+	}
 
 	var invokers []protocol.Invoker
 	for i := 0; i < 2; i++ {
@@ -82,7 +83,7 @@ func TestZoneWareInvokerWithWeightSuccess(t *testing.T) {
 	ctrl := gomock.NewController(t)
 	// In Go versions 1.14+, if you pass a *testing.T
 	// into gomock.NewController(t) you no longer need to call ctrl.Finish().
-	//defer ctrl.Finish()
+	// defer ctrl.Finish()
 
 	w1 := "50"
 	w2 := "200"
@@ -100,7 +101,8 @@ func TestZoneWareInvokerWithWeightSuccess(t *testing.T) {
 				func(invocation protocol.Invocation) protocol.Result {
 					return &protocol.RPCResult{
 						Attrs: map[string]interface{}{constant.WEIGHT_KEY: w1},
-						Rest:  rest{tried: 0, success: true}}
+						Rest:  rest{tried: 0, success: true},
+					}
 				}).MaxTimes(100)
 		} else {
 			url.SetParam(constant.REGISTRY_KEY+"."+constant.WEIGHT_KEY, w2)
@@ -108,7 +110,8 @@ func TestZoneWareInvokerWithWeightSuccess(t *testing.T) {
 				func(invocation protocol.Invocation) protocol.Result {
 					return &protocol.RPCResult{
 						Attrs: map[string]interface{}{constant.WEIGHT_KEY: w2},
-						Rest:  rest{tried: 0, success: true}}
+						Rest:  rest{tried: 0, success: true},
+					}
 				}).MaxTimes(100)
 		}
 		invokers = append(invokers, invoker)
@@ -135,12 +138,12 @@ func TestZoneWareInvokerWithWeightSuccess(t *testing.T) {
 }
 
 func TestZoneWareInvokerWithZoneSuccess(t *testing.T) {
-	var zoneArray = []string{"hangzhou", "shanghai"}
+	zoneArray := []string{"hangzhou", "shanghai"}
 
 	ctrl := gomock.NewController(t)
 	// In Go versions 1.14+, if you pass a *testing.T
 	// into gomock.NewController(t) you no longer need to call ctrl.Finish().
-	//defer ctrl.Finish()
+	// defer ctrl.Finish()
 
 	var invokers []protocol.Invoker
 	for i := 0; i < 2; i++ {
@@ -155,7 +158,8 @@ func TestZoneWareInvokerWithZoneSuccess(t *testing.T) {
 			func(invocation protocol.Invocation) protocol.Result {
 				return &protocol.RPCResult{
 					Attrs: map[string]interface{}{constant.ZONE_KEY: zoneValue},
-					Rest:  rest{tried: 0, success: true}}
+					Rest:  rest{tried: 0, success: true},
+				}
 			})
 		invokers = append(invokers, invoker)
 	}
@@ -178,7 +182,7 @@ func TestZoneWareInvokerWithZoneForceFail(t *testing.T) {
 	ctrl := gomock.NewController(t)
 	// In Go versions 1.14+, if you pass a *testing.T
 	// into gomock.NewController(t) you no longer need to call ctrl.Finish().
-	//defer ctrl.Finish()
+	// defer ctrl.Finish()
 
 	var invokers []protocol.Invoker
 	for i := 0; i < 2; i++ {
diff --git a/cluster/directory/base_directory_test.go b/cluster/directory/base_directory_test.go
index 443f07de2cc7d420fa8a7caa22709980f522b47b..9bbcac3ca73c264c165fa4543e8b66af85954d98 100644
--- a/cluster/directory/base_directory_test.go
+++ b/cluster/directory/base_directory_test.go
@@ -47,7 +47,6 @@ func TestNewBaseDirectory(t *testing.T) {
 }
 
 func TestBuildRouterChain(t *testing.T) {
-
 	regURL := url
 	regURL.AddParam(constant.INTERFACE_KEY, "mock-app")
 	directory := NewBaseDirectory(regURL)
diff --git a/cluster/directory/static_directory.go b/cluster/directory/static_directory.go
index d9695d46b3d25dd89a80e10c2396e650492840ad..e184dc6af97f80eff1f15989acf40c8dcbd5725d 100644
--- a/cluster/directory/static_directory.go
+++ b/cluster/directory/static_directory.go
@@ -48,7 +48,7 @@ func NewStaticDirectory(invokers []protocol.Invoker) *staticDirectory {
 	return dir
 }
 
-//for-loop invokers ,if all invokers is available ,then it means directory is available
+// for-loop invokers ,if all invokers is available ,then it means directory is available
 func (dir *staticDirectory) IsAvailable() bool {
 	if len(dir.invokers) == 0 {
 		return false
diff --git a/cluster/loadbalance/consistent_hash.go b/cluster/loadbalance/consistent_hash.go
index 3d036b4f3c5c50874e09efb8fd1ef34e969585d8..314728a0a162d2649fd654e4e7b0709ad3485178 100644
--- a/cluster/loadbalance/consistent_hash.go
+++ b/cluster/loadbalance/consistent_hash.go
@@ -27,9 +27,11 @@ import (
 	"strconv"
 	"strings"
 )
+
 import (
 	gxsort "github.com/dubbogo/gost/sort"
 )
+
 import (
 	"github.com/apache/dubbo-go/cluster"
 	"github.com/apache/dubbo-go/common/constant"
@@ -56,8 +58,7 @@ func init() {
 }
 
 // ConsistentHashLoadBalance implementation of load balancing: using consistent hashing
-type ConsistentHashLoadBalance struct {
-}
+type ConsistentHashLoadBalance struct{}
 
 // NewConsistentHashLoadBalance creates NewConsistentHashLoadBalance
 //
diff --git a/cluster/loadbalance/least_active.go b/cluster/loadbalance/least_active.go
index 87767359a94c29c9aa83ae1fa5b042d7bac2548b..f8fc015707b7e52dba0d26535ede8cadc5259b45 100644
--- a/cluster/loadbalance/least_active.go
+++ b/cluster/loadbalance/least_active.go
@@ -36,8 +36,7 @@ func init() {
 	extension.SetLoadbalance(LeastActive, NewLeastActiveLoadBalance)
 }
 
-type leastActiveLoadBalance struct {
-}
+type leastActiveLoadBalance struct{}
 
 // NewLeastActiveLoadBalance returns a least active load balance.
 //
diff --git a/cluster/loadbalance/random.go b/cluster/loadbalance/random.go
index cdde1b41fb8e986d9923681dc4ab075496ac810e..a2ae2bedb8c2c717d4161593e9e5c9ee80d0dbbf 100644
--- a/cluster/loadbalance/random.go
+++ b/cluster/loadbalance/random.go
@@ -35,8 +35,7 @@ func init() {
 	extension.SetLoadbalance(name, NewRandomLoadBalance)
 }
 
-type randomLoadBalance struct {
-}
+type randomLoadBalance struct{}
 
 // NewRandomLoadBalance returns a random load balance instance.
 //
diff --git a/cluster/loadbalance/round_robin.go b/cluster/loadbalance/round_robin.go
index 51a76da99818063b6f13de1c007ccbc3709e1701..f7653b619d90105252fc83bb0221ecc4bfd8ca2d 100644
--- a/cluster/loadbalance/round_robin.go
+++ b/cluster/loadbalance/round_robin.go
@@ -83,7 +83,7 @@ func (lb *roundRobinLoadBalance) Select(invokers []protocol.Invoker, invocation
 	)
 
 	for _, invoker := range invokers {
-		var weight = GetWeight(invoker, invocation)
+		weight := GetWeight(invoker, invocation)
 		if weight < 0 {
 			weight = 0
 		}
diff --git a/cluster/loadbalance/util.go b/cluster/loadbalance/util.go
index 684ffe11a72058e188fdbcc5f8aa56fe16073619..2dd55d3934390bee6e64e3014860f3be041fa756 100644
--- a/cluster/loadbalance/util.go
+++ b/cluster/loadbalance/util.go
@@ -38,7 +38,7 @@ func GetWeight(invoker protocol.Invoker, invocation protocol.Invocation) int64 {
 		weight = url.GetMethodParamInt64(invocation.MethodName(), constant.WEIGHT_KEY, constant.DEFAULT_WEIGHT)
 
 		if weight > 0 {
-			//get service register time an do warm up time
+			// get service register time an do warm up time
 			now := time.Now().Unix()
 			timestamp := url.GetParamInt(constant.REMOTE_TIMESTAMP_KEY, now)
 			if uptime := now - timestamp; uptime > 0 {
diff --git a/cluster/router/condition/app_router_test.go b/cluster/router/condition/app_router_test.go
index 86fdedea1f4caf40034dd7c879a168d97c4aa648..6e072b6323556131c0a1ccd2e8967fdc20c279a5 100644
--- a/cluster/router/condition/app_router_test.go
+++ b/cluster/router/condition/app_router_test.go
@@ -51,7 +51,6 @@ var (
 )
 
 func TestNewAppRouter(t *testing.T) {
-
 	testYML := `scope: application
 key: mock-app
 enabled: true
@@ -105,7 +104,6 @@ conditions:
 }
 
 func TestGenerateConditions(t *testing.T) {
-
 	testYML := `scope: application
 key: mock-app
 enabled: true
@@ -152,7 +150,6 @@ conditions:
 }
 
 func TestProcess(t *testing.T) {
-
 	testYML := `scope: application
 key: mock-app
 enabled: true
diff --git a/cluster/router/condition/factory_test.go b/cluster/router/condition/factory_test.go
index e08016d13ebba72f0a36c944082de27d6c95afdb..7cd6fae783cf0f68e2b712d4677f6440cfb7e416 100644
--- a/cluster/router/condition/factory_test.go
+++ b/cluster/router/condition/factory_test.go
@@ -204,7 +204,6 @@ func TestRoute_matchFilter(t *testing.T) {
 	assert.Equal(t, 1, len(ret4.ToArray()))
 	assert.Equal(t, 2, len(ret5.ToArray()))
 	assert.Equal(t, 1, len(ret6.ToArray()))
-
 }
 
 func TestRoute_methodRoute(t *testing.T) {
@@ -232,7 +231,6 @@ func TestRoute_methodRoute(t *testing.T) {
 	router3, _ := newConditionRouterFactory().NewPriorityRouter(getRouteUrl(rule3), notify)
 	matchWhen = router3.(*ConditionRouter).MatchWhen(url3, inv)
 	assert.Equal(t, true, matchWhen)
-
 }
 
 func TestRoute_ReturnFalse(t *testing.T) {
diff --git a/cluster/router/condition/listenable_router.go b/cluster/router/condition/listenable_router.go
index 2e55b2075d28af7ef3bb00faec5b6cbae1a78840..79d80da0d038d8bf18f554b2c28842947516ae50 100644
--- a/cluster/router/condition/listenable_router.go
+++ b/cluster/router/condition/listenable_router.go
@@ -83,7 +83,8 @@ func newListenableRouter(url *common.URL, ruleKey string, notify chan struct{})
 	l.Process(&config_center.ConfigChangeEvent{
 		Key:        routerKey,
 		Value:      rule,
-		ConfigType: remoting.EventTypeUpdate})
+		ConfigType: remoting.EventTypeUpdate,
+	})
 
 	logger.Info("Init app router success")
 	return l, nil
diff --git a/cluster/router/condition/router.go b/cluster/router/condition/router.go
index d543ca3f94644370179c18a9c3a3f9a00268461e..e1aef9879a956d1488bd603a63f2c17f3e4c01a7 100644
--- a/cluster/router/condition/router.go
+++ b/cluster/router/condition/router.go
@@ -42,16 +42,12 @@ const (
 	pattern = `([&!=,]*)\\s*([^&!=,\\s]+)`
 )
 
-var (
-	routerPatternReg = regexp.MustCompile(`([&!=,]*)\s*([^&!=,\s]+)`)
-)
+var routerPatternReg = regexp.MustCompile(`([&!=,]*)\s*([^&!=,\s]+)`)
 
-var (
-	emptyMatchPair = MatchPair{
-		Matches:    gxset.NewSet(),
-		Mismatches: gxset.NewSet(),
-	}
-)
+var emptyMatchPair = MatchPair{
+	Matches:    gxset.NewSet(),
+	Mismatches: gxset.NewSet(),
+}
 
 // ConditionRouter Condition router struct
 type ConditionRouter struct {
@@ -231,26 +227,26 @@ func parseRule(rule string) (map[string]MatchPair, error) {
 			}
 		case "=":
 			if pair == emptyMatchPair {
-				var startIndex = getStartIndex(rule)
+				startIndex := getStartIndex(rule)
 				return nil, perrors.Errorf("Illegal route rule \"%s\", The error char '%s' at index %d before \"%d\".", rule, separator, startIndex, startIndex)
 			}
 			values = pair.Matches
 			values.Add(content)
 		case "!=":
 			if pair == emptyMatchPair {
-				var startIndex = getStartIndex(rule)
+				startIndex := getStartIndex(rule)
 				return nil, perrors.Errorf("Illegal route rule \"%s\", The error char '%s' at index %d before \"%d\".", rule, separator, startIndex, startIndex)
 			}
 			values = pair.Mismatches
 			values.Add(content)
 		case ",":
 			if values.Empty() {
-				var startIndex = getStartIndex(rule)
+				startIndex := getStartIndex(rule)
 				return nil, perrors.Errorf("Illegal route rule \"%s\", The error char '%s' at index %d before \"%d\".", rule, separator, startIndex, startIndex)
 			}
 			values.Add(content)
 		default:
-			var startIndex = getStartIndex(rule)
+			startIndex := getStartIndex(rule)
 			return nil, perrors.Errorf("Illegal route rule \"%s\", The error char '%s' at index %d before \"%d\".", rule, separator, startIndex, startIndex)
 
 		}
diff --git a/cluster/router/conncheck/conn_check_route_test.go b/cluster/router/conncheck/conn_check_route_test.go
index fec733167f38c2c642e6a35795fcc57289d242ca..360e97cb432418a7e57e914f948bb40c7a2b1fb3 100644
--- a/cluster/router/conncheck/conn_check_route_test.go
+++ b/cluster/router/conncheck/conn_check_route_test.go
@@ -78,7 +78,6 @@ func TestConnCheckRouterRoute(t *testing.T) {
 	res = hcr.Route(utils.ToBitmap(invokers), setUpAddrCache(hcr.(*ConnCheckRouter), invokers), consumerURL, inv)
 	// now  invoker3 invoker1 is healthy
 	assert.True(t, len(res.ToArray()) == 2)
-
 }
 
 func TestRecovery(t *testing.T) {
diff --git a/cluster/router/conncheck/conn_health_check.go b/cluster/router/conncheck/conn_health_check.go
index 9f05b0695f2b7a569ab669baac7540ca7c896861..a5cee10b13ad5ef9f323b6d63fe7b568c5104d5e 100644
--- a/cluster/router/conncheck/conn_health_check.go
+++ b/cluster/router/conncheck/conn_health_check.go
@@ -30,8 +30,7 @@ func init() {
 }
 
 // DefaultConnChecker is the default implementation of ConnChecker, which determines the health status of invoker conn
-type DefaultConnChecker struct {
-}
+type DefaultConnChecker struct{}
 
 // IsConnHealthy evaluates the healthy state on the given Invoker based on the number of successive bad request
 // and the current active request
diff --git a/cluster/router/conncheck/factory.go b/cluster/router/conncheck/factory.go
index a7b19aaea668b31006f8caa384067a3051ddb5ce..fb03689aaaf558082454a1defc3559a30163590b 100644
--- a/cluster/router/conncheck/factory.go
+++ b/cluster/router/conncheck/factory.go
@@ -30,8 +30,7 @@ func init() {
 
 // ConnCheckRouteFactory is the factory to create conn check router, it aims at filter ip with unhealthy status
 // the unhealthy status is storied in protocol/rpc_status.go with sync.Map
-type ConnCheckRouteFactory struct {
-}
+type ConnCheckRouteFactory struct{}
 
 // newConnCheckRouteFactory construct a new ConnCheckRouteFactory
 func newConnCheckRouteFactory() router.PriorityRouterFactory {
diff --git a/cluster/router/healthcheck/default_health_check.go b/cluster/router/healthcheck/default_health_check.go
index eb15e6f6422d1bdc0ae4d0f4a76db50161db1870..2c84d65faaa465ca8d478d83a388f4a16696d4b5 100644
--- a/cluster/router/healthcheck/default_health_check.go
+++ b/cluster/router/healthcheck/default_health_check.go
@@ -77,7 +77,6 @@ func (c *DefaultHealthChecker) getCircuitBreakerTimeout(status *protocol.RPCStat
 
 // getCircuitBreakerSleepWindowTime get the sleep window time of invoker, the unit is millisecond
 func (c *DefaultHealthChecker) getCircuitBreakerSleepWindowTime(status *protocol.RPCStatus) int64 {
-
 	successiveFailureCount := status.GetSuccessiveRequestFailureCount()
 	diff := successiveFailureCount - c.GetRequestSuccessiveFailureThreshold()
 	if diff < 0 {
diff --git a/cluster/router/healthcheck/default_health_check_test.go b/cluster/router/healthcheck/default_health_check_test.go
index c32a607889fb096fee07e1c391f5f3461aacfbc5..4583dadba7874e2ef43f4ed9ab053fa7d8f7b4da 100644
--- a/cluster/router/healthcheck/default_health_check_test.go
+++ b/cluster/router/healthcheck/default_health_check_test.go
@@ -123,7 +123,6 @@ func TestDefaultHealthCheckerGetCircuitBreakerTimeout(t *testing.T) {
 	timeout = defaultHc.getCircuitBreakerTimeout(protocol.GetURLStatus(url1))
 	// timeout must after the current time
 	assert.True(t, timeout > protocol.CurrentTimeMillis())
-
 }
 
 func TestDefaultHealthCheckerIsCircuitBreakerTripped(t *testing.T) {
@@ -139,7 +138,6 @@ func TestDefaultHealthCheckerIsCircuitBreakerTripped(t *testing.T) {
 	}
 	tripped = defaultHc.isCircuitBreakerTripped(protocol.GetURLStatus(url))
 	assert.True(t, tripped)
-
 }
 
 func TestNewDefaultHealthChecker(t *testing.T) {
diff --git a/cluster/router/healthcheck/factory.go b/cluster/router/healthcheck/factory.go
index a9054c7714417426bcf916dddfe61099df69e26e..e6d876db3fcfe05f22cac3bcd35f639d9d07d7bb 100644
--- a/cluster/router/healthcheck/factory.go
+++ b/cluster/router/healthcheck/factory.go
@@ -29,8 +29,7 @@ func init() {
 }
 
 // HealthCheckRouteFactory
-type HealthCheckRouteFactory struct {
-}
+type HealthCheckRouteFactory struct{}
 
 // newHealthCheckRouteFactory construct a new HealthCheckRouteFactory
 func newHealthCheckRouteFactory() router.PriorityRouterFactory {
diff --git a/cluster/router/healthcheck/health_check_route_test.go b/cluster/router/healthcheck/health_check_route_test.go
index f499c85c093add1cc247fdb9fac02e391ef22bfc..5422c53a113dfd8f04d2bfb767f87aff6d437164 100644
--- a/cluster/router/healthcheck/health_check_route_test.go
+++ b/cluster/router/healthcheck/health_check_route_test.go
@@ -112,7 +112,6 @@ func TestHealthCheckRouterRoute(t *testing.T) {
 	// invoker1 go to healthy again after 2s
 	res = hcr.Route(utils.ToBitmap(invokers), setUpAddrCache(hcr.(*HealthCheckRouter), invokers), consumerURL, inv)
 	assert.True(t, res.Contains(0))
-
 }
 
 func TestNewHealthCheckRouter(t *testing.T) {
diff --git a/cluster/router/local/factory.go b/cluster/router/local/factory.go
index 42e03e25abdfa4c04851bddd7f57434d4c03a112..711a9ea1d6e57833de1e0ef50b653b2c9ef969e8 100644
--- a/cluster/router/local/factory.go
+++ b/cluster/router/local/factory.go
@@ -29,8 +29,7 @@ func init() {
 }
 
 // LocalPriorityRouteFactory
-type LocalPriorityRouteFactory struct {
-}
+type LocalPriorityRouteFactory struct{}
 
 // newLocalPriorityRouteFactory construct a new LocalDiscRouteFactory
 func newLocalPriorityRouteFactory() router.PriorityRouterFactory {
diff --git a/cluster/router/local/self_priority_route.go b/cluster/router/local/self_priority_route.go
index 87eaaf7837d546672b41bc9389503e9964344839..7fd188cd82f67bf23b05bdd7944bdea3985e8933 100644
--- a/cluster/router/local/self_priority_route.go
+++ b/cluster/router/local/self_priority_route.go
@@ -80,7 +80,7 @@ func (r *LocalPriorityRouter) Pool(invokers []protocol.Invoker) (router.AddrPool
 		logger.Debug("found local ip ")
 		return rb, nil
 	}
-	for i, _ := range invokers {
+	for i := range invokers {
 		rb[localPriority].Add(uint32(i))
 	}
 	return rb, nil
diff --git a/cluster/router/tag/file.go b/cluster/router/tag/file.go
index 81c25109dd85f2e358db57633967a851618bf924..8977ddce0db483406df9b128330abc41381707d8 100644
--- a/cluster/router/tag/file.go
+++ b/cluster/router/tag/file.go
@@ -41,7 +41,7 @@ type FileTagRouter struct {
 	router     *tagRouter
 	routerRule *RouterRule
 	url        *common.URL
-	//force      bool
+	// force      bool
 }
 
 // NewFileTagRouter Create file tag router instance with content (from config file)
diff --git a/cluster/router/tag/file_test.go b/cluster/router/tag/file_test.go
index 513ba0c0b6c622d6a52fad35a24824121eb71b76..1866ec057c6787baa95f92c0f7955a2e6f44d246 100644
--- a/cluster/router/tag/file_test.go
+++ b/cluster/router/tag/file_test.go
@@ -52,7 +52,6 @@ func TestFileTagRouterURL(t *testing.T) {
 	priority := url.GetParam(constant.RouterPriority, "0")
 	assert.Equal(t, "true", force)
 	assert.Equal(t, "100", priority)
-
 }
 
 func TestFileTagRouterPriority(t *testing.T) {
diff --git a/cluster/router/tag/router_rule.go b/cluster/router/tag/router_rule.go
index 512d8f10795b04a18947396be8ae7fa6c4f49d4a..1259c42ce332f3cb9fbda4055a1aed1372760785 100644
--- a/cluster/router/tag/router_rule.go
+++ b/cluster/router/tag/router_rule.go
@@ -69,7 +69,7 @@ func (t *RouterRule) parseTags() {
 }
 
 func (t *RouterRule) getAddresses() []string {
-	var result = make([]string, 0, 2*len(t.Tags))
+	result := make([]string, 0, 2*len(t.Tags))
 	for _, tag := range t.Tags {
 		result = append(result, tag.Addresses...)
 	}
@@ -77,7 +77,7 @@ func (t *RouterRule) getAddresses() []string {
 }
 
 func (t *RouterRule) getTagNames() []string {
-	var result = make([]string, 0, len(t.Tags))
+	result := make([]string, 0, len(t.Tags))
 	for _, tag := range t.Tags {
 		result = append(result, tag.Name)
 	}
diff --git a/cluster/router/tag/tag_router.go b/cluster/router/tag/tag_router.go
index 3d0393a487deb3eb592da3edb9f37becc394d7df..e0522d41c4a8ab3778a1b56e063bf5ef44e8b57d 100644
--- a/cluster/router/tag/tag_router.go
+++ b/cluster/router/tag/tag_router.go
@@ -53,7 +53,7 @@ type addrMetadata struct {
 	// application name
 	application string
 	// is rule a runtime rule
-	//ruleRuntime bool
+	// ruleRuntime bool
 	// is rule a force rule
 	ruleForce bool
 	// is rule a valid rule
@@ -267,7 +267,8 @@ func (c *tagRouter) fetchRuleIfNecessary(invokers []protocol.Invoker) {
 		c.Process(&config_center.ConfigChangeEvent{
 			Key:        routerKey,
 			Value:      rule,
-			ConfigType: remoting.EventTypeUpdate})
+			ConfigType: remoting.EventTypeUpdate,
+		})
 	}
 }
 
diff --git a/cluster/router/tag/tag_router_test.go b/cluster/router/tag/tag_router_test.go
index 3b53d473faf4e8eddefec8b6cf7be897175ffae7..e5abf4e1ea227e9a20f3097b84d4bdb27d983dce 100644
--- a/cluster/router/tag/tag_router_test.go
+++ b/cluster/router/tag/tag_router_test.go
@@ -72,9 +72,7 @@ const (
 	routerZk      = "zookeeper"
 )
 
-var (
-	zkFormat = "zookeeper://%s:%d"
-)
+var zkFormat = "zookeeper://%s:%d"
 
 // MockInvoker is only mock the Invoker to support test tagRouter
 type MockInvoker struct {
@@ -257,7 +255,7 @@ func TestRouteBeijingInvoker(t *testing.T) {
 
 type DynamicTagRouter struct {
 	suite.Suite
-	//rule *RouterRule
+	// rule *RouterRule
 
 	route       *tagRouter
 	zkClient    *gxzookeeper.ZookeeperClient
diff --git a/common/config/environment.go b/common/config/environment.go
index 23baa702c7711965d4b9e258c0e71a568b7888a2..c568646cc08dcaee83e24549369e5cc6f310a872 100644
--- a/common/config/environment.go
+++ b/common/config/environment.go
@@ -35,7 +35,7 @@ import (
 // But for add these features in future ,I finish the environment struct following Environment class in java.
 type Environment struct {
 	configCenterFirst bool
-	//externalConfigs      sync.Map
+	// externalConfigs      sync.Map
 	externalConfigMap    sync.Map
 	appExternalConfigMap sync.Map
 	dynamicConfiguration config_center.DynamicConfiguration
diff --git a/common/constant/default.go b/common/constant/default.go
index 8afb5c7192300df9191abc163c9a586cac5f65cc..f52a3f03f5f7e9d8aff70e57cbd4c858244a51a9 100644
--- a/common/constant/default.go
+++ b/common/constant/default.go
@@ -20,7 +20,7 @@ package constant
 const (
 	DUBBO             = "dubbo"
 	PROVIDER_PROTOCOL = "provider"
-	//compatible with 2.6.x
+	// compatible with 2.6.x
 	OVERRIDE_PROTOCOL = "override"
 	EMPTY_PROTOCOL    = "empty"
 	ROUTER_PROTOCOL   = "router"
diff --git a/common/constant/key.go b/common/constant/key.go
index 4b867d8d0c3fb21cb51b92771437f3bb69902dd2..62a8fccf6c405a8c44cea7fb04fe481889fcf9cd 100644
--- a/common/constant/key.go
+++ b/common/constant/key.go
@@ -49,7 +49,7 @@ const (
 	PORT_KEY                 = "port"
 	PROTOCOL_KEY             = "protocol"
 	PATH_SEPARATOR           = "/"
-	//DUBBO_KEY                = "dubbo"
+	// DUBBO_KEY                = "dubbo"
 	SSL_ENABLED_KEY = "ssl-enabled"
 )
 
@@ -144,6 +144,7 @@ const (
 	CONFIG_VERSION_KEY    = "configVersion"
 	COMPATIBLE_CONFIG_KEY = "compatible_config"
 )
+
 const (
 	RegistryConfigPrefix       = "dubbo.registries."
 	SingleRegistryConfigPrefix = "dubbo.registry."
diff --git a/common/constant/time.go b/common/constant/time.go
index 3bb339229ba6e7ab470cbe2964312bd8cefa022b..d50990cfbc0dad4cc3d3c31f127b1bfecaadd89a 100644
--- a/common/constant/time.go
+++ b/common/constant/time.go
@@ -21,8 +21,6 @@ import (
 	"time"
 )
 
-var (
-	// The value will be 10^6
-	// 1ms = 10^6ns
-	MsToNanoRate = int64(time.Millisecond / time.Nanosecond)
-)
+// The value will be 10^6
+// 1ms = 10^6ns
+var MsToNanoRate = int64(time.Millisecond / time.Nanosecond)
diff --git a/common/extension/cluster.go b/common/extension/cluster.go
index 8be27a1ca3aaf93dd54201c4ff7081478c746f0f..1f6ab102e58898fad0ce80cb9e47f291be40cc2f 100644
--- a/common/extension/cluster.go
+++ b/common/extension/cluster.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/cluster"
 )
 
-var (
-	clusters = make(map[string]func() cluster.Cluster)
-)
+var clusters = make(map[string]func() cluster.Cluster)
 
 // SetCluster sets the cluster fault-tolerant mode with @name
 // For example: available/failfast/broadcast/failfast/failsafe/...
diff --git a/common/extension/config_center.go b/common/extension/config_center.go
index 5a2c52f32d070f5ec03bdae0b3cd47f869c28171..9c616d3dc082e011201245fb0be4d00db042bcb4 100644
--- a/common/extension/config_center.go
+++ b/common/extension/config_center.go
@@ -22,9 +22,7 @@ import (
 	"github.com/apache/dubbo-go/config_center"
 )
 
-var (
-	configCenters = make(map[string]func(config *common.URL) (config_center.DynamicConfiguration, error))
-)
+var configCenters = make(map[string]func(config *common.URL) (config_center.DynamicConfiguration, error))
 
 // SetConfigCenter sets the DynamicConfiguration with @name
 func SetConfigCenter(name string, v func(*common.URL) (config_center.DynamicConfiguration, error)) {
@@ -37,5 +35,4 @@ func GetConfigCenter(name string, config *common.URL) (config_center.DynamicConf
 		panic("config center for " + name + " is not existing, make sure you have import the package.")
 	}
 	return configCenters[name](config)
-
 }
diff --git a/common/extension/config_center_factory.go b/common/extension/config_center_factory.go
index dff89752296c6d2441d043ec628aa13ad219e698..9d3f0d93219289371c16e69c16d3bac55ef33c61 100644
--- a/common/extension/config_center_factory.go
+++ b/common/extension/config_center_factory.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/config_center"
 )
 
-var (
-	configCenterFactories = make(map[string]func() config_center.DynamicConfigurationFactory)
-)
+var configCenterFactories = make(map[string]func() config_center.DynamicConfigurationFactory)
 
 // SetConfigCenterFactory sets the DynamicConfigurationFactory with @name
 func SetConfigCenterFactory(name string, v func() config_center.DynamicConfigurationFactory) {
diff --git a/common/extension/config_post_processor.go b/common/extension/config_post_processor.go
index db126b744d54562a7f45b59aec26ef6e950a23a8..19a479e8ae21c279391fc2510a2d93ec5d8e97c2 100644
--- a/common/extension/config_post_processor.go
+++ b/common/extension/config_post_processor.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/config/interfaces"
 )
 
-var (
-	processors = make(map[string]interfaces.ConfigPostProcessor)
-)
+var processors = make(map[string]interfaces.ConfigPostProcessor)
 
 // SetConfigPostProcessor registers a ConfigPostProcessor with the given name.
 func SetConfigPostProcessor(name string, processor interfaces.ConfigPostProcessor) {
diff --git a/common/extension/configurator.go b/common/extension/configurator.go
index dc2bea73afb79aaab36e2ce7cc9675169a446eb7..3cc7ffc2e1a07bb26e4f65b18c0196c06fef5d3f 100644
--- a/common/extension/configurator.go
+++ b/common/extension/configurator.go
@@ -29,9 +29,7 @@ const (
 
 type getConfiguratorFunc func(url *common.URL) config_center.Configurator
 
-var (
-	configurator = make(map[string]getConfiguratorFunc)
-)
+var configurator = make(map[string]getConfiguratorFunc)
 
 // SetConfigurator sets the getConfiguratorFunc with @name
 func SetConfigurator(name string, v getConfiguratorFunc) {
@@ -44,7 +42,6 @@ func GetConfigurator(name string, url *common.URL) config_center.Configurator {
 		panic("configurator for " + name + " is not existing, make sure you have import the package.")
 	}
 	return configurator[name](url)
-
 }
 
 // SetDefaultConfigurator sets the default Configurator
@@ -58,7 +55,6 @@ func GetDefaultConfigurator(url *common.URL) config_center.Configurator {
 		panic("configurator for default is not existing, make sure you have import the package.")
 	}
 	return configurator[DefaultKey](url)
-
 }
 
 // GetDefaultConfiguratorFunc gets default configurator function
diff --git a/common/extension/conn_checker.go b/common/extension/conn_checker.go
index fbd9e34b2366f62a355e574c373dad4a290fe814..38659d75adcf152f0672995021f07e692f39e013 100644
--- a/common/extension/conn_checker.go
+++ b/common/extension/conn_checker.go
@@ -22,9 +22,7 @@ import (
 	"github.com/apache/dubbo-go/common"
 )
 
-var (
-	connCheckers = make(map[string]func(url *common.URL) router.ConnChecker)
-)
+var connCheckers = make(map[string]func(url *common.URL) router.ConnChecker)
 
 // SetHealthChecker sets the HealthChecker with @name
 func SetConnChecker(name string, fcn func(_ *common.URL) router.ConnChecker) {
diff --git a/common/extension/event_dispatcher.go b/common/extension/event_dispatcher.go
index f0503e05422844e129a81212beed6af414612b6b..3504d9b6b8810b07ac1916c4423b510c1e47f5cf 100644
--- a/common/extension/event_dispatcher.go
+++ b/common/extension/event_dispatcher.go
@@ -32,9 +32,7 @@ var (
 	initEventOnce         sync.Once
 )
 
-var (
-	dispatchers = make(map[string]func() observer.EventDispatcher, 8)
-)
+var dispatchers = make(map[string]func() observer.EventDispatcher, 8)
 
 // SetEventDispatcher, actually, it doesn't really init the global dispatcher
 func SetEventDispatcher(name string, v func() observer.EventDispatcher) {
diff --git a/common/extension/event_dispatcher_test.go b/common/extension/event_dispatcher_test.go
index 472360cea5a04c2cd70f0df6ea4db23f6be88f1a..fbcf45250a09fdacd221810bb062c4fd1c83b9d0 100644
--- a/common/extension/event_dispatcher_test.go
+++ b/common/extension/event_dispatcher_test.go
@@ -25,6 +25,7 @@ import (
 import (
 	"github.com/stretchr/testify/assert"
 )
+
 import (
 	"github.com/apache/dubbo-go/common/observer"
 )
@@ -64,8 +65,7 @@ func TestAddEventListener(t *testing.T) {
 	assert.Equal(t, 2, len(initEventListeners))
 }
 
-type mockEventListener struct {
-}
+type mockEventListener struct{}
 
 func (m mockEventListener) GetPriority() int {
 	panic("implement me")
@@ -79,8 +79,7 @@ func (m mockEventListener) GetEventType() reflect.Type {
 	panic("implement me")
 }
 
-type mockEventDispatcher struct {
-}
+type mockEventDispatcher struct{}
 
 func (m mockEventDispatcher) AddEventListener(listener observer.EventListener) {
 	panic("implement me")
diff --git a/common/extension/graceful_shutdown.go b/common/extension/graceful_shutdown.go
index cb55419aabbce26b41e5b10f49268f6b3ace516d..8c98192b5a65b13b54971ef28465240d8831c269 100644
--- a/common/extension/graceful_shutdown.go
+++ b/common/extension/graceful_shutdown.go
@@ -21,9 +21,7 @@ import (
 	"container/list"
 )
 
-var (
-	customShutdownCallbacks = list.New()
-)
+var customShutdownCallbacks = list.New()
 
 /**
  * AddCustomShutdownCallback
diff --git a/common/extension/health_checker.go b/common/extension/health_checker.go
index cec4c2defc291c617a0549c3296e07851b2ec128..c0cc0f636bf77fb99af81f1e8792505431bd414f 100644
--- a/common/extension/health_checker.go
+++ b/common/extension/health_checker.go
@@ -22,9 +22,7 @@ import (
 	"github.com/apache/dubbo-go/common"
 )
 
-var (
-	healthCheckers = make(map[string]func(url *common.URL) router.HealthChecker)
-)
+var healthCheckers = make(map[string]func(url *common.URL) router.HealthChecker)
 
 // SetHealthChecker sets the HealthChecker with @name
 func SetHealthChecker(name string, fcn func(_ *common.URL) router.HealthChecker) {
diff --git a/common/extension/health_checker_test.go b/common/extension/health_checker_test.go
index af6b114a612a465d4397be7a599ddfc9ff7edab9..cee12ced932222ff1d1b9599033d337e3fb88ef4 100644
--- a/common/extension/health_checker_test.go
+++ b/common/extension/health_checker_test.go
@@ -37,8 +37,7 @@ func TestGetHealthChecker(t *testing.T) {
 	assert.NotNil(t, checker)
 }
 
-type mockHealthChecker struct {
-}
+type mockHealthChecker struct{}
 
 func (m mockHealthChecker) IsHealthy(invoker protocol.Invoker) bool {
 	return true
diff --git a/common/extension/loadbalance.go b/common/extension/loadbalance.go
index aa19141014a6c42df0c17dad05301997f67fbd79..bbd0fbc3feebb67c829f01ee68782f555510dc6e 100644
--- a/common/extension/loadbalance.go
+++ b/common/extension/loadbalance.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/cluster"
 )
 
-var (
-	loadbalances = make(map[string]func() cluster.LoadBalance)
-)
+var loadbalances = make(map[string]func() cluster.LoadBalance)
 
 // SetLoadbalance sets the loadbalance extension with @name
 // For example: random/round_robin/consistent_hash/least_active/...
diff --git a/common/extension/metadata_report_factory.go b/common/extension/metadata_report_factory.go
index 593318d01beec1f89d8194c6d4bd18a15c798a0e..641ba4a4336533319e3a82cef11f27d95019a843 100644
--- a/common/extension/metadata_report_factory.go
+++ b/common/extension/metadata_report_factory.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/metadata/report/factory"
 )
 
-var (
-	metaDataReportFactories = make(map[string]func() factory.MetadataReportFactory, 8)
-)
+var metaDataReportFactories = make(map[string]func() factory.MetadataReportFactory, 8)
 
 // SetMetadataReportFactory sets the MetadataReportFactory with @name
 func SetMetadataReportFactory(name string, v func() factory.MetadataReportFactory) {
diff --git a/common/extension/metadata_service_proxy_factory.go b/common/extension/metadata_service_proxy_factory.go
index 2b88d37c9a5145ddca81930cd76ccac1a7184318..3e05c2257fdad677c7077a97662de1ee6139f5bf 100644
--- a/common/extension/metadata_service_proxy_factory.go
+++ b/common/extension/metadata_service_proxy_factory.go
@@ -25,9 +25,7 @@ import (
 	"github.com/apache/dubbo-go/metadata/service"
 )
 
-var (
-	metadataServiceProxyFactoryMap = make(map[string]func() service.MetadataServiceProxyFactory, 2)
-)
+var metadataServiceProxyFactoryMap = make(map[string]func() service.MetadataServiceProxyFactory, 2)
 
 type MetadataServiceProxyFactoryFunc func() service.MetadataServiceProxyFactory
 
diff --git a/common/extension/metrics.go b/common/extension/metrics.go
index 60cf6bac2384c7367094adad83e01f7dcf64a33d..3e221b7ab7684c93a268f459626d0c926257dfd2 100644
--- a/common/extension/metrics.go
+++ b/common/extension/metrics.go
@@ -21,11 +21,9 @@ import (
 	"github.com/apache/dubbo-go/metrics"
 )
 
-var (
-	// we couldn't store the instance because the some instance may initialize before loading configuration
-	// so lazy initialization will be better.
-	metricReporterMap = make(map[string]func() metrics.Reporter, 4)
-)
+// we couldn't store the instance because the some instance may initialize before loading configuration
+// so lazy initialization will be better.
+var metricReporterMap = make(map[string]func() metrics.Reporter, 4)
 
 // SetMetricReporter sets a reporter with the @name
 func SetMetricReporter(name string, reporterFunc func() metrics.Reporter) {
diff --git a/common/extension/metrics_test.go b/common/extension/metrics_test.go
index 2aaae75f0ccf7929754582aa42aa1bff4ece7c22..bcd86a8950095f46700218ce9acd2abb2b955dfa 100644
--- a/common/extension/metrics_test.go
+++ b/common/extension/metrics_test.go
@@ -42,8 +42,7 @@ func TestGetMetricReporter(t *testing.T) {
 	assert.Equal(t, reporter, res)
 }
 
-type mockReporter struct {
-}
+type mockReporter struct{}
 
 // Report method for feature expansion
 func (m mockReporter) Report(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation, cost time.Duration, res protocol.Result) {
diff --git a/common/extension/protocol.go b/common/extension/protocol.go
index c89dd08fae5d12b384d6ca4e797343fe79897bbd..0c77ead644dbd5b500c50a0efa794466286803c3 100644
--- a/common/extension/protocol.go
+++ b/common/extension/protocol.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/protocol"
 )
 
-var (
-	protocols = make(map[string]func() protocol.Protocol)
-)
+var protocols = make(map[string]func() protocol.Protocol)
 
 // SetProtocol sets the protocol extension with @name
 func SetProtocol(name string, v func() protocol.Protocol) {
diff --git a/common/extension/proxy_factory.go b/common/extension/proxy_factory.go
index 1e326d884b5dd37925c38ffdf0a87e69bf6a865c..414905f039ff3352a7784baf5a42e47651205369 100644
--- a/common/extension/proxy_factory.go
+++ b/common/extension/proxy_factory.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/common/proxy"
 )
 
-var (
-	proxyFactories = make(map[string]func(...proxy.Option) proxy.ProxyFactory)
-)
+var proxyFactories = make(map[string]func(...proxy.Option) proxy.ProxyFactory)
 
 // SetProxyFactory sets the ProxyFactory extension with @name
 func SetProxyFactory(name string, f func(...proxy.Option) proxy.ProxyFactory) {
diff --git a/common/extension/registry.go b/common/extension/registry.go
index 187c8fecf4e27c87d6feff8749730c77a83b2f32..411ee379115dd3f029a1f64b7858adaed48b6210 100644
--- a/common/extension/registry.go
+++ b/common/extension/registry.go
@@ -22,9 +22,7 @@ import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-var (
-	registrys = make(map[string]func(config *common.URL) (registry.Registry, error))
-)
+var registrys = make(map[string]func(config *common.URL) (registry.Registry, error))
 
 // SetRegistry sets the registry extension with @name
 func SetRegistry(name string, v func(_ *common.URL) (registry.Registry, error)) {
@@ -37,5 +35,4 @@ func GetRegistry(name string, config *common.URL) (registry.Registry, error) {
 		panic("registry for " + name + " does not exist. please make sure that you have imported the package `github.com/apache/dubbo-go/registry/" + name + "`.")
 	}
 	return registrys[name](config)
-
 }
diff --git a/common/extension/rest_client.go b/common/extension/rest_client.go
index 0c2f4ddf95d2226cfadc3ab6492c629ba15c4063..be60d284700ef5e8e15e04cb1b69903f0dcb28de 100644
--- a/common/extension/rest_client.go
+++ b/common/extension/rest_client.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/protocol/rest/client"
 )
 
-var (
-	restClients = make(map[string]func(restOptions *client.RestOptions) client.RestClient, 8)
-)
+var restClients = make(map[string]func(restOptions *client.RestOptions) client.RestClient, 8)
 
 // SetRestClient sets the RestClient with @name
 func SetRestClient(name string, fun func(_ *client.RestOptions) client.RestClient) {
diff --git a/common/extension/rest_server.go b/common/extension/rest_server.go
index 37a231a57c861ae49aab244eb9fa8b611ae63f6d..c055309d926a0afd87fb2e8b46d9de728e7b2fc6 100644
--- a/common/extension/rest_server.go
+++ b/common/extension/rest_server.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/protocol/rest/server"
 )
 
-var (
-	restServers = make(map[string]func() server.RestServer, 8)
-)
+var restServers = make(map[string]func() server.RestServer, 8)
 
 // SetRestServer sets the RestServer with @name
 func SetRestServer(name string, fun func() server.RestServer) {
diff --git a/common/extension/service_discovery.go b/common/extension/service_discovery.go
index 0227920dc64a7b5f6ad1939fcccbb7384c43f68d..6a691e1aa5df59476443f699cfc76391eb0b4c77 100644
--- a/common/extension/service_discovery.go
+++ b/common/extension/service_discovery.go
@@ -20,13 +20,12 @@ package extension
 import (
 	perrors "github.com/pkg/errors"
 )
+
 import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-var (
-	discoveryCreatorMap = make(map[string]func(name string) (registry.ServiceDiscovery, error), 4)
-)
+var discoveryCreatorMap = make(map[string]func(name string) (registry.ServiceDiscovery, error), 4)
 
 // SetServiceDiscovery will store the @creator and @name
 // protocol indicate the implementation, like nacos
diff --git a/common/extension/service_instance_customizer.go b/common/extension/service_instance_customizer.go
index 3ebb3e40f5851ad4799e7cee5966edd77cea2f9e..3ec6af15b167838fcc63d62130e536cca7ed6fbf 100644
--- a/common/extension/service_instance_customizer.go
+++ b/common/extension/service_instance_customizer.go
@@ -25,9 +25,7 @@ import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-var (
-	customizers = make([]registry.ServiceInstanceCustomizer, 0, 8)
-)
+var customizers = make([]registry.ServiceInstanceCustomizer, 0, 8)
 
 // AddCustomizers will put the customizer into slices and then sort them;
 // this method will be invoked several time, so we sort them here.
diff --git a/common/extension/service_instance_selector_factory.go b/common/extension/service_instance_selector_factory.go
index 66d3e7646e6c26639901fe0a9c8994233aa7c567..9d107c40f6b5956ffb0bed943d34bb22c466ef8a 100644
--- a/common/extension/service_instance_selector_factory.go
+++ b/common/extension/service_instance_selector_factory.go
@@ -25,9 +25,7 @@ import (
 	"github.com/apache/dubbo-go/registry/servicediscovery/instance"
 )
 
-var (
-	serviceInstanceSelectorMappings = make(map[string]func() instance.ServiceInstanceSelector, 2)
-)
+var serviceInstanceSelectorMappings = make(map[string]func() instance.ServiceInstanceSelector, 2)
 
 // nolint
 func SetServiceInstanceSelector(name string, f func() instance.ServiceInstanceSelector) {
diff --git a/common/extension/service_name_mapping.go b/common/extension/service_name_mapping.go
index 99fd4c25e93d6f3d085a8bcab50482535e8c9019..317acf6b8c1d99d19d58a6aab0b75bae7030daef 100644
--- a/common/extension/service_name_mapping.go
+++ b/common/extension/service_name_mapping.go
@@ -23,9 +23,7 @@ import (
 
 type ServiceNameMappingCreator func() mapping.ServiceNameMapping
 
-var (
-	globalNameMappingCreator ServiceNameMappingCreator
-)
+var globalNameMappingCreator ServiceNameMappingCreator
 
 func SetGlobalServiceNameMapping(nameMappingCreator ServiceNameMappingCreator) {
 	globalNameMappingCreator = nameMappingCreator
diff --git a/common/logger/logger.go b/common/logger/logger.go
index 655b364fb89e7c0953216070b2cb046a643966af..bc01043ff5d8fd067c30c0bd7216e1c9a2f03544 100644
--- a/common/logger/logger.go
+++ b/common/logger/logger.go
@@ -37,9 +37,7 @@ import (
 	"github.com/apache/dubbo-go/common/constant"
 )
 
-var (
-	logger Logger
-)
+var logger Logger
 
 // nolint
 type DubboLogger struct {
diff --git a/common/observer/dispatcher/mock_event_dispatcher.go b/common/observer/dispatcher/mock_event_dispatcher.go
index 45cdaa71a257ff78293e1a1bdc15232c36a9aa26..012f5ba5ae83cd2c95d48e53026566dc8d40c4a9 100644
--- a/common/observer/dispatcher/mock_event_dispatcher.go
+++ b/common/observer/dispatcher/mock_event_dispatcher.go
@@ -25,8 +25,7 @@ import (
 // It is only used by tests
 // Now the implementation doing nothing,
 // But you can modify this if needed
-type MockEventDispatcher struct {
-}
+type MockEventDispatcher struct{}
 
 // AddEventListener do nothing
 func (m MockEventDispatcher) AddEventListener(listener observer.EventListener) {
diff --git a/common/observer/listenable_test.go b/common/observer/listenable_test.go
index 5a03382a937fe925b6e17b495d066b86c8d2161d..3ae6e5eb30516b417c953a47e2315def5ace0743 100644
--- a/common/observer/listenable_test.go
+++ b/common/observer/listenable_test.go
@@ -41,7 +41,6 @@ func TestListenable(t *testing.T) {
 	ts = append(ts, el)
 	b.AddEventListeners(ts)
 	assert.Equal(t, len(al), 1)
-
 }
 
 type TestEvent struct {
diff --git a/common/proxy/proxy.go b/common/proxy/proxy.go
index fd3481021c99d64843a20e8e41f7938b37efbbba..68d37b737b9be0249005c826b422169d501b4342 100644
--- a/common/proxy/proxy.go
+++ b/common/proxy/proxy.go
@@ -53,9 +53,7 @@ type (
 	ImplementFunc func(p *Proxy, v common.RPCService)
 )
 
-var (
-	typError = reflect.Zero(reflect.TypeOf((*error)(nil)).Elem()).Type()
-)
+var typError = reflect.Zero(reflect.TypeOf((*error)(nil)).Elem()).Type()
 
 // NewProxy create service proxy.
 func NewProxy(invoke protocol.Invoker, callback interface{}, attachments map[string]string) *Proxy {
@@ -251,7 +249,7 @@ func DefaultProxyImplementFunc(p *Proxy, v common.RPCService) {
 				continue
 			}
 
-			var funcOuts = make([]reflect.Type, outNum)
+			funcOuts := make([]reflect.Type, outNum)
 			for i := 0; i < outNum; i++ {
 				funcOuts[i] = t.Type.Out(i)
 			}
@@ -261,5 +259,4 @@ func DefaultProxyImplementFunc(p *Proxy, v common.RPCService) {
 			logger.Debugf("set method [%s]", methodName)
 		}
 	}
-
 }
diff --git a/common/proxy/proxy_factory/default.go b/common/proxy/proxy_factory/default.go
index ff3d7955a027411b0697797d32a44023f8f70caf..4ef828f0ee3058eb6cf745100e51b5b9db45f5d6 100644
--- a/common/proxy/proxy_factory/default.go
+++ b/common/proxy/proxy_factory/default.go
@@ -41,11 +41,10 @@ func init() {
 }
 
 // DefaultProxyFactory is the default proxy factory
-type DefaultProxyFactory struct {
-	//delegate ProxyFactory
+type DefaultProxyFactory struct { // delegate ProxyFactory
 }
 
-//you can rewrite DefaultProxyFactory in extension and delegate the default proxy factory like below
+// you can rewrite DefaultProxyFactory in extension and delegate the default proxy factory like below
 
 //func WithDelegate(delegateProxyFactory ProxyFactory) Option {
 //	return func(proxy ProxyFactory) {
@@ -65,7 +64,7 @@ func (factory *DefaultProxyFactory) GetProxy(invoker protocol.Invoker, url *comm
 
 // GetAsyncProxy gets a async proxy
 func (factory *DefaultProxyFactory) GetAsyncProxy(invoker protocol.Invoker, callBack interface{}, url *common.URL) *proxy.Proxy {
-	//create proxy
+	// create proxy
 	attachments := map[string]string{}
 	attachments[constant.ASYNC_KEY] = url.GetParam(constant.ASYNC_KEY, "false")
 	return proxy.NewProxy(invoker, callBack, attachments)
@@ -88,7 +87,7 @@ func (pi *ProxyInvoker) Invoke(ctx context.Context, invocation protocol.Invocati
 	result := &protocol.RPCResult{}
 	result.SetAttachments(invocation.Attachments())
 
-	//get providerUrl. The origin url may be is registry URL.
+	// get providerUrl. The origin url may be is registry URL.
 	url := getProviderURL(pi.GetUrl())
 
 	methodName := invocation.MethodName()
diff --git a/common/proxy/proxy_factory/default_test.go b/common/proxy/proxy_factory/default_test.go
index 4002ab95849b79aef26c8d94822e731cd6f229e3..6a8c29a361187014624dbc5eb3ec241b5f8eb0a7 100644
--- a/common/proxy/proxy_factory/default_test.go
+++ b/common/proxy/proxy_factory/default_test.go
@@ -38,8 +38,7 @@ func TestGetProxy(t *testing.T) {
 	assert.NotNil(t, proxy)
 }
 
-type TestAsync struct {
-}
+type TestAsync struct{}
 
 func (u *TestAsync) CallBack(res common.CallbackResponse) {
 	fmt.Println("CallBack res:", res)
diff --git a/common/proxy/proxy_test.go b/common/proxy/proxy_test.go
index c335bf67834074607619edc734f0e0b3c2d72124..86b3b61b65085804d2f7ca3f3aed141cb1314976 100644
--- a/common/proxy/proxy_test.go
+++ b/common/proxy/proxy_test.go
@@ -58,7 +58,6 @@ func (s *TestServiceInt) Reference() string {
 }
 
 func TestProxyImplement(t *testing.T) {
-
 	invoker := protocol.NewBaseInvoker(&common.URL{})
 	p := NewProxy(invoker, nil, map[string]string{constant.ASYNC_KEY: "false"})
 	s := &TestService{}
@@ -122,7 +121,6 @@ func TestProxyImplement(t *testing.T) {
 	s3 := &S3{TestService: *s}
 	p.Implement(s3)
 	assert.Nil(t, s3.MethodOne)
-
 }
 
 func TestProxyImplementForContext(t *testing.T) {
diff --git a/common/rpc_service_test.go b/common/rpc_service_test.go
index e8bd3933da89b0a6c607f776eae1bb8603f8f467..ce861b75e7916e1c5b4034e46d2cc19781d65387 100644
--- a/common/rpc_service_test.go
+++ b/common/rpc_service_test.go
@@ -39,47 +39,52 @@ const (
 	testSuiteMethodExpectedString = "interface {}"
 )
 
-type TestService struct {
-}
+type TestService struct{}
 
 func (s *TestService) MethodOne(ctx context.Context, arg1, arg2, arg3 interface{}) error {
 	return nil
 }
+
 func (s *TestService) MethodTwo(arg1, arg2, arg3 interface{}) (interface{}, error) {
 	return struct{}{}, nil
 }
+
 func (s *TestService) MethodThree() error {
 	return nil
 }
+
 func (s *TestService) Reference() string {
 	return referenceTestPath
 }
+
 func (s *TestService) MethodMapper() map[string]string {
 	return map[string]string{
 		"MethodTwo": "methodTwo",
 	}
 }
 
-type testService struct {
-}
+type testService struct{}
 
 func (s *testService) Method1(ctx context.Context, args testService, rsp *struct{}) error {
 	return nil
 }
+
 func (s *testService) Method2(ctx context.Context, args []interface{}) (testService, error) {
 	return testService{}, nil
 }
+
 func (s *testService) Method3(ctx context.Context, args []interface{}, rsp *struct{}) {
 }
+
 func (s *testService) Method4(ctx context.Context, args []interface{}, rsp *struct{}) *testService {
 	return nil
 }
+
 func (s *testService) Reference() string {
 	return referenceTestPath
 }
 
-type TestService1 struct {
-}
+type TestService1 struct{}
 
 func (s *TestService1) Reference() string {
 	return referenceTestPathDistinct
diff --git a/common/url.go b/common/url.go
index 80b85fcf42a924f4707c9ab31e2ec263c671e55a..0e923c5167a39f026718b7cc01b42271a504e2e7 100644
--- a/common/url.go
+++ b/common/url.go
@@ -113,7 +113,7 @@ type URL struct {
 	noCopy noCopy
 
 	baseUrl
-	//url.Values is not safe map, add to avoid concurrent map read and map write error
+	// url.Values is not safe map, add to avoid concurrent map read and map write error
 	paramsLock sync.RWMutex
 	params     url.Values
 
diff --git a/common/yaml/yaml.go b/common/yaml/yaml.go
index d7e1ca4e898ce64f316b2abf8cb9e3324eb31e32..7f61f7208eab014e7c3dfc8118ac47771bb2b9d8 100644
--- a/common/yaml/yaml.go
+++ b/common/yaml/yaml.go
@@ -49,7 +49,7 @@ func UnmarshalYMLConfig(confProFile string, out interface{}) ([]byte, error) {
 	return confFileStream, yaml.Unmarshal(confFileStream, out)
 }
 
-//UnmarshalYML unmarshals decodes the first document found within the in byte slice and assigns decoded values into the out value.
+// UnmarshalYML unmarshals decodes the first document found within the in byte slice and assigns decoded values into the out value.
 func UnmarshalYML(data []byte, out interface{}) error {
 	return yaml.Unmarshal(data, out)
 }
diff --git a/config/base_config.go b/config/base_config.go
index df1686ae854692454538f0395af34f68e4532e57..0937d51be3da689671399dc8c09dc711554dd2fa 100644
--- a/config/base_config.go
+++ b/config/base_config.go
@@ -45,7 +45,7 @@ type BaseConfig struct {
 	// application config
 	ApplicationConfig *ApplicationConfig `yaml:"application" json:"application,omitempty" property:"application"`
 
-	//prefix              string
+	// prefix              string
 	fatherConfig        interface{}
 	EventDispatcherType string        `default:"direct" yaml:"event_dispatcher_type" json:"event_dispatcher_type,omitempty"`
 	MetricConfig        *MetricConfig `yaml:"metrics" json:"metrics,omitempty"`
@@ -68,9 +68,7 @@ func (c *BaseConfig) GetRemoteConfig(name string) (config *RemoteConfig, ok bool
 }
 
 func getKeyPrefix(val reflect.Value) []string {
-	var (
-		prefix string
-	)
+	var prefix string
 	configPrefixMethod := "Prefix"
 	if val.CanAddr() {
 		prefix = val.Addr().MethodByName(configPrefixMethod).Call(nil)[0].String()
@@ -97,7 +95,6 @@ func setFieldValue(val reflect.Value, id reflect.Value, config *config.InmemoryC
 			f := val.Field(i)
 			if f.IsValid() {
 				setBaseValue := func(f reflect.Value) {
-
 					var (
 						ok    bool
 						value string
@@ -170,7 +167,6 @@ func setFieldValue(val reflect.Value, id reflect.Value, config *config.InmemoryC
 						}
 
 					}
-
 				}
 
 				if f.Kind() == reflect.Ptr {
@@ -198,7 +194,6 @@ func setFieldValue(val reflect.Value, id reflect.Value, config *config.InmemoryC
 						}
 
 					}
-
 				}
 				if f.Kind() == reflect.Map {
 
diff --git a/config/config_center_config.go b/config/config_center_config.go
index 2489709af1462da43e6989f656c89e0392593d3d..90ad97205a26759e9f2526d23371ec96c93f560a 100644
--- a/config/config_center_config.go
+++ b/config/config_center_config.go
@@ -44,7 +44,7 @@ import (
 //
 // ConfigCenter has currently supported Zookeeper, Nacos, Etcd, Consul, Apollo
 type ConfigCenterConfig struct {
-	//context       context.Context
+	// context       context.Context
 	Protocol      string `required:"true"  yaml:"protocol"  json:"protocol,omitempty"`
 	Address       string `yaml:"address" json:"address,omitempty"`
 	Cluster       string `yaml:"cluster" json:"cluster,omitempty"`
@@ -58,7 +58,7 @@ type ConfigCenterConfig struct {
 	AppId         string `default:"dubbo" yaml:"app_id"  json:"app_id,omitempty"`
 	TimeoutStr    string `yaml:"timeout"  json:"timeout,omitempty"`
 	RemoteRef     string `required:"false"  yaml:"remote_ref"  json:"remote_ref,omitempty"`
-	//timeout       time.Duration
+	// timeout       time.Duration
 }
 
 // UnmarshalYAML unmarshals the ConfigCenterConfig by @unmarshal function
@@ -81,8 +81,7 @@ func (c *ConfigCenterConfig) GetUrlMap() url.Values {
 	return urlMap
 }
 
-type configCenter struct {
-}
+type configCenter struct{}
 
 // toURL will compatible with baseConfig.ConfigCenterConfig.Address and baseConfig.ConfigCenterConfig.RemoteRef before 1.6.0
 // After 1.6.0 will not compatible, only baseConfig.ConfigCenterConfig.RemoteRef
diff --git a/config/config_center_config_test.go b/config/config_center_config_test.go
index 2299167bb62a019f6854ea48d61442f5bde7e646..58faff3d950994ede10b52fa5354f4d8a616e633 100644
--- a/config/config_center_config_test.go
+++ b/config/config_center_config_test.go
@@ -62,7 +62,8 @@ func TestStartConfigCenterWithRemoteRef(t *testing.T) {
 			Group:      "dubbo",
 			RemoteRef:  "mock",
 			ConfigFile: "mockDubbo.properties",
-		}}
+		},
+	}
 
 	c := &configCenter{}
 	err := c.startConfigCenter(*baseConfig)
@@ -85,7 +86,8 @@ func TestStartConfigCenterWithRemoteRefError(t *testing.T) {
 			Group:      "dubbo",
 			RemoteRef:  "mock",
 			ConfigFile: "mockDubbo.properties",
-		}}
+		},
+	}
 
 	c := &configCenter{}
 	err := c.startConfigCenter(*baseConfig)
diff --git a/config/config_loader.go b/config/config_loader.go
index 90726fdfa8042a24b7510a6dd021e23a9eeeea8a..bb1069ce63f564c2268c7b81076c72b6d15f1b2d 100644
--- a/config/config_loader.go
+++ b/config/config_loader.go
@@ -201,7 +201,7 @@ func loadConsumerConfig() {
 		if data, err := yaml.MarshalYML(consumerConfig); err != nil {
 			logger.Errorf("Marshal consumer config err: %s", err.Error())
 		} else {
-			if err := ioutil.WriteFile(consumerConfig.CacheFile, data, 0666); err != nil {
+			if err := ioutil.WriteFile(consumerConfig.CacheFile, data, 0o666); err != nil {
 				logger.Errorf("Write consumer config cache file err: %s", err.Error())
 			}
 		}
@@ -268,7 +268,7 @@ func loadProviderConfig() {
 		if data, err := yaml.MarshalYML(providerConfig); err != nil {
 			logger.Errorf("Marshal provider config err: %s", err.Error())
 		} else {
-			if err := ioutil.WriteFile(providerConfig.CacheFile, data, 0666); err != nil {
+			if err := ioutil.WriteFile(providerConfig.CacheFile, data, 0o666); err != nil {
 				logger.Errorf("Write provider config cache file err: %s", err.Error())
 			}
 		}
@@ -387,7 +387,6 @@ func initRouter() {
 
 // Load Dubbo Init
 func Load() {
-
 	// init router
 	initRouter()
 
@@ -498,9 +497,11 @@ func GetBaseConfig() *BaseConfig {
 func GetSslEnabled() bool {
 	return sslEnabled
 }
+
 func SetSslEnabled(enabled bool) {
 	sslEnabled = enabled
 }
+
 func IsProvider() bool {
 	return providerConfig != nil
 }
diff --git a/config/config_loader_test.go b/config/config_loader_test.go
index 5cda3b2a99fb1f8219fba762c097d8369ba07fdc..962ef3403a05913d322dd03f677cf199a34ef852 100644
--- a/config/config_loader_test.go
+++ b/config/config_loader_test.go
@@ -45,8 +45,10 @@ import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-const mockConsumerConfigPath = "./testdata/consumer_config.yml"
-const mockProviderConfigPath = "./testdata/provider_config.yml"
+const (
+	mockConsumerConfigPath = "./testdata/consumer_config.yml"
+	mockProviderConfigPath = "./testdata/provider_config.yml"
+)
 
 func TestConfigLoader(t *testing.T) {
 	conPath, err := filepath.Abs(mockConsumerConfigPath)
@@ -222,7 +224,6 @@ func TestConfigLoaderWithConfigCenter(t *testing.T) {
 
 	assert.Equal(t, "BDTService", consumerConfig.ApplicationConfig.Name)
 	assert.Equal(t, "127.0.0.1:2181", consumerConfig.Registries["hangzhouzk"].Address)
-
 }
 
 func TestConfigLoaderWithConfigCenterSingleRegistry(t *testing.T) {
@@ -281,7 +282,6 @@ func TestConfigLoaderWithConfigCenterSingleRegistry(t *testing.T) {
 
 	assert.Equal(t, "BDTService", consumerConfig.ApplicationConfig.Name)
 	assert.Equal(t, "mock://127.0.0.1:2182", consumerConfig.Registries[constant.DEFAULT_KEY].Address)
-
 }
 
 func TestGetBaseConfig(t *testing.T) {
@@ -301,7 +301,8 @@ func mockInitProviderWithSingleRegistry() {
 				Module:       "module",
 				Version:      "1.0.0",
 				Owner:        "dubbo",
-				Environment:  "test"},
+				Environment:  "test",
+			},
 		},
 
 		Registry: &RegistryConfig{
@@ -452,8 +453,7 @@ func (m *mockMetadataService) getAllService(services *sync.Map) []*common.URL {
 	return res
 }
 
-type mockServiceDiscoveryRegistry struct {
-}
+type mockServiceDiscoveryRegistry struct{}
 
 func (mr *mockServiceDiscoveryRegistry) GetUrl() *common.URL {
 	panic("implement me")
@@ -487,8 +487,7 @@ func (s *mockServiceDiscoveryRegistry) GetServiceDiscovery() registry.ServiceDis
 	return &mockServiceDiscovery{}
 }
 
-type mockServiceDiscovery struct {
-}
+type mockServiceDiscovery struct{}
 
 func (m *mockServiceDiscovery) String() string {
 	panic("implement me")
diff --git a/config/consumer_config.go b/config/consumer_config.go
index ca88fe3d846d97822f16fa86aed15c0849f279e4..39c0e96f94f5bf1c2fefba4d6be724be9ecab083 100644
--- a/config/consumer_config.go
+++ b/config/consumer_config.go
@@ -95,9 +95,9 @@ func ConsumerInit(confConFile string) error {
 		return perrors.Errorf("unmarshalYmlConfig error %v", perrors.WithStack(err))
 	}
 	consumerConfig.fileStream = bytes.NewBuffer(fileStream)
-	//set method interfaceId & interfaceName
+	// set method interfaceId & interfaceName
 	for k, v := range consumerConfig.References {
-		//set id for reference
+		// set id for reference
 		for _, n := range consumerConfig.References[k].Methods {
 			n.InterfaceName = v.InterfaceName
 			n.InterfaceId = k
@@ -124,7 +124,7 @@ func ConsumerInit(confConFile string) error {
 }
 
 func configCenterRefreshConsumer() error {
-	//fresh it
+	// fresh it
 	var err error
 	if consumerConfig.Request_Timeout != "" {
 		if consumerConfig.RequestTimeout, err = time.ParseDuration(consumerConfig.Request_Timeout); err != nil {
diff --git a/config/graceful_shutdown.go b/config/graceful_shutdown.go
index 89ac2e38fceceb2471372c3e2a859ee771bd36a6..83204c83f8c03746e362a6e552678f466345d381 100644
--- a/config/graceful_shutdown.go
+++ b/config/graceful_shutdown.go
@@ -55,7 +55,6 @@ const defaultShutDownTime = time.Second * 60
 
 // nolint
 func GracefulShutdownInit() {
-
 	signals := make(chan os.Signal, 1)
 
 	signal.Notify(signals, ShutdownSignals...)
@@ -83,7 +82,6 @@ func GracefulShutdownInit() {
 
 // BeforeShutdown provides processing flow before shutdown
 func BeforeShutdown() {
-
 	destroyAllRegistries()
 	// waiting for a short time so that the clients have enough time to get the notification that server shutdowns
 	// The value of configuration depends on how long the clients will get notification.
@@ -127,7 +125,6 @@ func destroyConsumerProtocols(consumerProtocols *gxset.HashSet) {
 // destroyProviderProtocols destroys the provider's protocol.
 // if the protocol is consumer's protocol too, we will keep it
 func destroyProviderProtocols(consumerProtocols *gxset.HashSet) {
-
 	logger.Info("Graceful shutdown --- Destroy provider's protocols. ")
 
 	if providerConfig == nil || providerConfig.Protocols == nil {
@@ -145,7 +142,6 @@ func destroyProviderProtocols(consumerProtocols *gxset.HashSet) {
 }
 
 func waitAndAcceptNewRequests() {
-
 	logger.Info("Graceful shutdown --- Keep waiting and accept new requests for a short time. ")
 	if providerConfig == nil || providerConfig.ShutdownConfig == nil {
 		return
@@ -194,7 +190,7 @@ func waitingProcessedTimeout(shutdownConfig *ShutdownConfig) {
 }
 
 func totalTimeout() time.Duration {
-	var providerShutdown = defaultShutDownTime
+	providerShutdown := defaultShutDownTime
 	if providerConfig != nil && providerConfig.ShutdownConfig != nil {
 		providerShutdown = providerConfig.ShutdownConfig.GetTimeout()
 	}
@@ -204,7 +200,7 @@ func totalTimeout() time.Duration {
 		consumerShutdown = consumerConfig.ShutdownConfig.GetTimeout()
 	}
 
-	var timeout = providerShutdown
+	timeout := providerShutdown
 	if consumerShutdown > providerShutdown {
 		timeout = consumerShutdown
 	}
diff --git a/config/graceful_shutdown_signal_darwin.go b/config/graceful_shutdown_signal_darwin.go
index 1a557dd3ed32cfe571216f61a5a6f8fe064bb254..9b694b5e09f6520900ec9fd75e4421dae18c8ad9 100644
--- a/config/graceful_shutdown_signal_darwin.go
+++ b/config/graceful_shutdown_signal_darwin.go
@@ -24,11 +24,15 @@ import (
 
 var (
 	// ShutdownSignals receives shutdown signals to process
-	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
+	ShutdownSignals = []os.Signal{
+		os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM}
+		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM,
+	}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
-	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL,
-		syscall.SIGTRAP, syscall.SIGABRT, syscall.SIGSYS}
+	DumpHeapShutdownSignals = []os.Signal{
+		syscall.SIGQUIT, syscall.SIGILL,
+		syscall.SIGTRAP, syscall.SIGABRT, syscall.SIGSYS,
+	}
 )
diff --git a/config/graceful_shutdown_signal_linux.go b/config/graceful_shutdown_signal_linux.go
index 1a557dd3ed32cfe571216f61a5a6f8fe064bb254..9b694b5e09f6520900ec9fd75e4421dae18c8ad9 100644
--- a/config/graceful_shutdown_signal_linux.go
+++ b/config/graceful_shutdown_signal_linux.go
@@ -24,11 +24,15 @@ import (
 
 var (
 	// ShutdownSignals receives shutdown signals to process
-	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
+	ShutdownSignals = []os.Signal{
+		os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM}
+		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM,
+	}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
-	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL,
-		syscall.SIGTRAP, syscall.SIGABRT, syscall.SIGSYS}
+	DumpHeapShutdownSignals = []os.Signal{
+		syscall.SIGQUIT, syscall.SIGILL,
+		syscall.SIGTRAP, syscall.SIGABRT, syscall.SIGSYS,
+	}
 )
diff --git a/config/graceful_shutdown_signal_windows.go b/config/graceful_shutdown_signal_windows.go
index 89edd27b184e3fddda5e794f686b86397c7019bb..17c209e8f5f676ce7597d7e76078fed06c2b754c 100644
--- a/config/graceful_shutdown_signal_windows.go
+++ b/config/graceful_shutdown_signal_windows.go
@@ -24,9 +24,11 @@ import (
 
 var (
 	// ShutdownSignals receives shutdown signals to process
-	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL,
+	ShutdownSignals = []os.Signal{
+		os.Interrupt, os.Kill, syscall.SIGKILL,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGTERM}
+		syscall.SIGABRT, syscall.SIGTERM,
+	}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP, syscall.SIGABRT}
diff --git a/config/graceful_shutdown_test.go b/config/graceful_shutdown_test.go
index de203572c76281d221181dea90b0f31b43038de6..851ec75adfed6fade65723fb7b954df5e0b52d2b 100644
--- a/config/graceful_shutdown_test.go
+++ b/config/graceful_shutdown_test.go
@@ -57,7 +57,8 @@ func TestBeforeShutdown(t *testing.T) {
 		ShutdownConfig: &ShutdownConfig{
 			Timeout:     "1",
 			StepTimeout: "1s",
-		}}
+		},
+	}
 
 	providerProtocols := map[string]*ProtocolConfig{}
 	providerProtocols[constant.DUBBO] = &ProtocolConfig{
diff --git a/config/instance/metadata_report_test.go b/config/instance/metadata_report_test.go
index 110903a41f577ef78b4d7abbcef17864fd6e281c..7d4a93ad13610d4313c3c2b46749beba71d24345 100644
--- a/config/instance/metadata_report_test.go
+++ b/config/instance/metadata_report_test.go
@@ -42,15 +42,13 @@ func TestGetMetadataReportInstance(t *testing.T) {
 	assert.NotNil(t, rpt)
 }
 
-type mockMetadataReportFactory struct {
-}
+type mockMetadataReportFactory struct{}
 
 func (m *mockMetadataReportFactory) CreateMetadataReport(*common.URL) report.MetadataReport {
 	return &mockMetadataReport{}
 }
 
-type mockMetadataReport struct {
-}
+type mockMetadataReport struct{}
 
 func (m mockMetadataReport) StoreProviderMetadata(*identifier.MetadataIdentifier, string) error {
 	panic("implement me")
diff --git a/config/metric_config.go b/config/metric_config.go
index 73a3ca1cfe4f1461db2e225947dd13199b2ad55e..9af1691dadf1109694f5f743626ad6125517ed19 100644
--- a/config/metric_config.go
+++ b/config/metric_config.go
@@ -17,9 +17,7 @@
 
 package config
 
-var (
-	defaultHistogramBucket = []float64{10, 50, 100, 200, 500, 1000, 10000}
-)
+var defaultHistogramBucket = []float64{10, 50, 100, 200, 500, 1000, 10000}
 
 // This is the config struct for all metrics implementation
 type MetricConfig struct {
diff --git a/config/reference_config.go b/config/reference_config.go
index f71c7ec1925209c138ad1ccf5668f3ef18d35e13..a97018acc7b6db98d63966092bb10a230129f342 100644
--- a/config/reference_config.go
+++ b/config/reference_config.go
@@ -194,7 +194,7 @@ func (c *ReferenceConfig) GetProxy() *proxy.Proxy {
 
 func (c *ReferenceConfig) getUrlMap() url.Values {
 	urlMap := url.Values{}
-	//first set user params
+	// first set user params
 	for k, v := range c.Params {
 		urlMap.Set(k, v)
 	}
@@ -215,11 +215,11 @@ func (c *ReferenceConfig) getUrlMap() url.Values {
 	if len(c.RequestTimeout) != 0 {
 		urlMap.Set(constant.TIMEOUT_KEY, c.RequestTimeout)
 	}
-	//getty invoke async or sync
+	// getty invoke async or sync
 	urlMap.Set(constant.ASYNC_KEY, strconv.FormatBool(c.Async))
 	urlMap.Set(constant.STICKY_KEY, strconv.FormatBool(c.Sticky))
 
-	//application info
+	// application info
 	urlMap.Set(constant.APPLICATION_KEY, consumerConfig.ApplicationConfig.Name)
 	urlMap.Set(constant.ORGANIZATION_KEY, consumerConfig.ApplicationConfig.Organization)
 	urlMap.Set(constant.NAME_KEY, consumerConfig.ApplicationConfig.Name)
@@ -228,8 +228,8 @@ func (c *ReferenceConfig) getUrlMap() url.Values {
 	urlMap.Set(constant.OWNER_KEY, consumerConfig.ApplicationConfig.Owner)
 	urlMap.Set(constant.ENVIRONMENT_KEY, consumerConfig.ApplicationConfig.Environment)
 
-	//filter
-	var defaultReferenceFilter = constant.DEFAULT_REFERENCE_FILTERS
+	// filter
+	defaultReferenceFilter := constant.DEFAULT_REFERENCE_FILTERS
 	if c.Generic {
 		defaultReferenceFilter = constant.GENERIC_REFERENCE_FILTERS + "," + defaultReferenceFilter
 	}
diff --git a/config/reference_config_test.go b/config/reference_config_test.go
index 0207e1ff24af022690e3773573ddd61ebad88e15..f47bb4bd84efa61e6d8a5b7d36f8fa1225080b79 100644
--- a/config/reference_config_test.go
+++ b/config/reference_config_test.go
@@ -46,7 +46,8 @@ func doInitConsumer() {
 				Module:       "module",
 				Version:      "2.6.0",
 				Owner:        "dubbo",
-				Environment:  "test"},
+				Environment:  "test",
+			},
 		},
 
 		Registries: map[string]*RegistryConfig{
@@ -120,8 +121,7 @@ func doInitConsumer() {
 
 var mockProvider = new(MockProvider)
 
-type MockProvider struct {
-}
+type MockProvider struct{}
 
 func (m *MockProvider) Reference() string {
 	return "MockProvider"
@@ -148,7 +148,8 @@ func doInitConsumerWithSingleRegistry() {
 				Module:       "module",
 				Version:      "2.6.0",
 				Owner:        "dubbo",
-				Environment:  "test"},
+				Environment:  "test",
+			},
 		},
 
 		Registry: &RegistryConfig{
@@ -359,6 +360,7 @@ func (*mockRegistryProtocol) Export(invoker protocol.Invoker) protocol.Exporter
 func (*mockRegistryProtocol) Destroy() {
 	// Destroy is a mock function
 }
+
 func getRegistryUrl(invoker protocol.Invoker) *common.URL {
 	// here add * for return a new url
 	url := invoker.GetUrl()
diff --git a/config/registry_config.go b/config/registry_config.go
index ed81a07c637e5de2972bbbd21dab8847c3d42f78..462e3b88cb28c742f012100e0d7d742e5870d94f 100644
--- a/config/registry_config.go
+++ b/config/registry_config.go
@@ -129,7 +129,7 @@ func (c *RegistryConfig) getUrlMap(roleType common.RoleType) url.Values {
 	urlMap.Set(constant.REGISTRY_KEY+"."+constant.REGISTRY_LABEL_KEY, strconv.FormatBool(true))
 	urlMap.Set(constant.REGISTRY_KEY+"."+constant.PREFERRED_KEY, strconv.FormatBool(c.Preferred))
 	urlMap.Set(constant.REGISTRY_KEY+"."+constant.ZONE_KEY, c.Zone)
-	//urlMap.Set(constant.REGISTRY_KEY+"."+constant.ZONE_FORCE_KEY, strconv.FormatBool(c.ZoneForce))
+	// urlMap.Set(constant.REGISTRY_KEY+"."+constant.ZONE_FORCE_KEY, strconv.FormatBool(c.ZoneForce))
 	urlMap.Set(constant.REGISTRY_KEY+"."+constant.WEIGHT_KEY, strconv.FormatInt(c.Weight, 10))
 	urlMap.Set(constant.REGISTRY_TTL_KEY, c.TTL)
 	for k, v := range c.Params {
diff --git a/config/remote_config_test.go b/config/remote_config_test.go
index 82535fd60b932aecb7c6c3ee8206130fad9e7161..cd21369565655b8c4893c6e30224e4da63276f4f 100644
--- a/config/remote_config_test.go
+++ b/config/remote_config_test.go
@@ -20,6 +20,7 @@ package config
 import (
 	"testing"
 )
+
 import (
 	"github.com/stretchr/testify/assert"
 )
diff --git a/config/router_config.go b/config/router_config.go
index ea19b46800d747de763bbb1ee679f8398e440f3d..06758b4c94f8d2a1037f58122e41a70bce4865ec 100644
--- a/config/router_config.go
+++ b/config/router_config.go
@@ -29,9 +29,7 @@ import (
 	"github.com/apache/dubbo-go/common/yaml"
 )
 
-var (
-	routerURLSet = gxset.NewSet()
-)
+var routerURLSet = gxset.NewSet()
 
 // LocalRouterRules defines the local router config structure
 type LocalRouterRules struct {
diff --git a/config/router_config_test.go b/config/router_config_test.go
index 13af7056d5280ef4cca3c0f9ede9397407df7478..d2acf9d1eabf7b9c06c9e86f69dfce59f2207062 100644
--- a/config/router_config_test.go
+++ b/config/router_config_test.go
@@ -31,12 +31,13 @@ import (
 	_ "github.com/apache/dubbo-go/cluster/router/condition"
 )
 
-const testYML = "testdata/router_config.yml"
-const testMultiRouterYML = "testdata/router_multi_config.yml"
-const errorTestYML = "testdata/router_config_error.yml"
+const (
+	testYML            = "testdata/router_config.yml"
+	testMultiRouterYML = "testdata/router_multi_config.yml"
+	errorTestYML       = "testdata/router_config_error.yml"
+)
 
 func TestString(t *testing.T) {
-
 	s := "a1=>a2"
 	s1 := "=>a2"
 	s2 := "a1=>"
diff --git a/config/service_config_test.go b/config/service_config_test.go
index aea0bde7a25d14bb720af0b83f06f44bdd6806c9..76800d97c1bab32ca3b764fffd85417ff93bd93c 100644
--- a/config/service_config_test.go
+++ b/config/service_config_test.go
@@ -18,8 +18,9 @@
 package config
 
 import (
-	"github.com/apache/dubbo-go/common"
 	"testing"
+
+	"github.com/apache/dubbo-go/common"
 )
 
 import (
@@ -195,7 +196,7 @@ func TestGetRandomPort(t *testing.T) {
 	protocolConfigs = append(protocolConfigs, &ProtocolConfig{
 		Ip: ip,
 	})
-	//assert.NoError(t, err)
+	// assert.NoError(t, err)
 	ports := getRandomPort(protocolConfigs)
 
 	assert.Equal(t, ports.Len(), len(protocolConfigs))
diff --git a/config_center/apollo/factory.go b/config_center/apollo/factory.go
index c52d942c4f481c64d0c465cafbd6f7f8c3bb1346..e3a8364f40ac5fc2fbca18106787101ccce48708 100644
--- a/config_center/apollo/factory.go
+++ b/config_center/apollo/factory.go
@@ -42,5 +42,4 @@ func (f *apolloConfigurationFactory) GetDynamicConfiguration(url *common.URL) (c
 	}
 	dynamicConfiguration.SetParser(&parser.DefaultConfigurationParser{})
 	return dynamicConfiguration, err
-
 }
diff --git a/config_center/apollo/impl_test.go b/config_center/apollo/impl_test.go
index 3b2cb168402534c1a8071e644827a0f948282f75..8f4c3151dfe12ba83b2e209719fa4bb4fdf93c76 100644
--- a/config_center/apollo/impl_test.go
+++ b/config_center/apollo/impl_test.go
@@ -59,8 +59,7 @@ const (
 }]`
 )
 
-var (
-	mockConfigRes = `{
+var mockConfigRes = `{
 	"appId": "testApplication_yang",
 	"cluster": "default",
 	"namespaceName": "mockDubbog.properties",
@@ -116,7 +115,6 @@ var (
 	},
 	"releaseKey": "20191104105242-0f13805d89f834a4"
 }`
-)
 
 func initApollo() *httptest.Server {
 	handlerMap := make(map[string]func(http.ResponseWriter, *http.Request), 1)
@@ -215,13 +213,13 @@ func TestListener(t *testing.T) {
 	},
 	"releaseKey": "20191104105242-0f13805d89f834a4"
 }`
-	//test add
+	// test add
 	apollo.AddListener(mockNamespace, listener)
 	listener.wg.Wait()
 	assert.Equal(t, "mockDubbog.properties", listener.event)
 	assert.Greater(t, listener.count, 0)
 
-	//test remove
+	// test remove
 	apollo.RemoveListener(mockNamespace, listener)
 	listenerCount := 0
 	apollo.listeners.Range(func(_, value interface{}) bool {
diff --git a/config_center/apollo/listener.go b/config_center/apollo/listener.go
index 44d325582f3b04871aaadc5b39cbc17ab7a0eeea..215c74d8620878972df61a592cf10a822fced8c4 100644
--- a/config_center/apollo/listener.go
+++ b/config_center/apollo/listener.go
@@ -42,7 +42,6 @@ func newApolloListener() *apolloListener {
 
 // OnChange process each listener
 func (a *apolloListener) OnChange(changeEvent *storage.ChangeEvent) {
-
 }
 
 // OnNewestChange process each listener by all changes
diff --git a/config_center/base_dynamic_configuration.go b/config_center/base_dynamic_configuration.go
index 3d6757852ad83d54338b721d0cb617772f40b6b7..b56ada1e39d693f67dabde1953ceba8c728e39aa 100644
--- a/config_center/base_dynamic_configuration.go
+++ b/config_center/base_dynamic_configuration.go
@@ -18,8 +18,7 @@
 package config_center
 
 // BaseDynamicConfiguration will default implementation DynamicConfiguration some method
-type BaseDynamicConfiguration struct {
-}
+type BaseDynamicConfiguration struct{}
 
 // RemoveConfig
 func (bdc *BaseDynamicConfiguration) RemoveConfig(string, string) error {
diff --git a/config_center/configurator/override_test.go b/config_center/configurator/override_test.go
index 4d2552d1845e57ada38b635bf3cb047891e73abf..a7fced09ab7e8978fff13a16cdbbe1954d2f438e 100644
--- a/config_center/configurator/override_test.go
+++ b/config_center/configurator/override_test.go
@@ -71,7 +71,6 @@ func TestConfigureVersion2p6WithIp(t *testing.T) {
 	assert.NoError(t, err)
 	configurator.Configure(providerUrl)
 	assert.Equal(t, failfast, providerUrl.GetParam(constant.CLUSTER_KEY, ""))
-
 }
 
 func TestConfigureVersion2p7(t *testing.T) {
@@ -83,5 +82,4 @@ func TestConfigureVersion2p7(t *testing.T) {
 	assert.NoError(t, err)
 	configurator.Configure(providerUrl)
 	assert.Equal(t, failfast, providerUrl.GetParam(constant.CLUSTER_KEY, ""))
-
 }
diff --git a/config_center/file/factory.go b/config_center/file/factory.go
index 2dda900e20cb7476b1d8da95e4b2b26fcb9dcefd..5dc8be170c5ae6f8c6d2eaf934ce990b7023cd38 100644
--- a/config_center/file/factory.go
+++ b/config_center/file/factory.go
@@ -35,8 +35,7 @@ func init() {
 	})
 }
 
-type fileDynamicConfigurationFactory struct {
-}
+type fileDynamicConfigurationFactory struct{}
 
 // GetDynamicConfiguration Get Configuration with URL
 func (f *fileDynamicConfigurationFactory) GetDynamicConfiguration(url *common.URL) (config_center.DynamicConfiguration,
diff --git a/config_center/file/impl.go b/config_center/file/impl.go
index 6489a073deff643ad7eecc7f3c26ef0b8899ac53..112b0bb254b319c511601ae6da970c18f9ff6b99 100644
--- a/config_center/file/impl.go
+++ b/config_center/file/impl.go
@@ -40,9 +40,7 @@ import (
 	"github.com/apache/dubbo-go/config_center/parser"
 )
 
-var (
-	osType = runtime.GOOS
-)
+var osType = runtime.GOOS
 
 const (
 	windowsOS = "windows"
diff --git a/config_center/file/listener.go b/config_center/file/listener.go
index d569030e5ac6a127a862c4d22d180f674cadce2d..8e7aa61ed81f03ffd6b78e237a88a32a55725e92 100644
--- a/config_center/file/listener.go
+++ b/config_center/file/listener.go
@@ -128,7 +128,8 @@ func (cl *CacheListener) AddListener(key string, listener config_center.Configur
 	// reference from https://stackoverflow.com/questions/34018908/golang-why-dont-we-have-a-set-datastructure
 	// make a map[your type]struct{} like set in java
 	listeners, loaded := cl.keyListeners.LoadOrStore(key, map[config_center.ConfigurationListener]struct{}{
-		listener: {}})
+		listener: {},
+	})
 	if loaded {
 		listeners.(map[config_center.ConfigurationListener]struct{})[listener] = struct{}{}
 		cl.keyListeners.Store(key, listeners)
diff --git a/config_center/mock_dynamic_config.go b/config_center/mock_dynamic_config.go
index 9bebd600c6ba9e09f172f9260a920b6572fa694c..5688499fe9158c604ec1d9e7577b232eec72ff0d 100644
--- a/config_center/mock_dynamic_config.go
+++ b/config_center/mock_dynamic_config.go
@@ -83,7 +83,6 @@ func (f *MockDynamicConfigurationFactory) GetDynamicConfiguration(_ *common.URL)
 		dynamicConfiguration.content = f.Content
 	}
 	return dynamicConfiguration, err
-
 }
 
 // PublishConfig will publish the config with the (key, group, value) pair
@@ -116,7 +115,6 @@ func (c *MockDynamicConfiguration) RemoveListener(_ string, _ ConfigurationListe
 
 // GetConfig returns content of MockDynamicConfiguration
 func (c *MockDynamicConfiguration) GetConfig(_ string, _ ...Option) (string, error) {
-
 	return c.content, nil
 }
 
@@ -158,7 +156,8 @@ func (c *MockDynamicConfiguration) MockServiceConfigEvent() {
 		Key:           mockServiceName,
 		Enabled:       true,
 		Configs: []parser.ConfigItem{
-			{Type: parser.GeneralType,
+			{
+				Type:       parser.GeneralType,
 				Enabled:    true,
 				Addresses:  []string{"0.0.0.0"},
 				Services:   []string{mockServiceName},
@@ -180,7 +179,8 @@ func (c *MockDynamicConfiguration) MockApplicationConfigEvent() {
 		Key:           mockServiceName,
 		Enabled:       true,
 		Configs: []parser.ConfigItem{
-			{Type: parser.ScopeApplication,
+			{
+				Type:       parser.ScopeApplication,
 				Enabled:    true,
 				Addresses:  []string{"0.0.0.0"},
 				Services:   []string{mockServiceName},
diff --git a/config_center/nacos/client.go b/config_center/nacos/client.go
index 1e96b36a4f19b8548d2ffc9818251ebfa96f365b..d6af806edd2e3edd1aecfa9b85304162a31e3976 100644
--- a/config_center/nacos/client.go
+++ b/config_center/nacos/client.go
@@ -65,7 +65,7 @@ type option func(*options)
 
 type options struct {
 	nacosName string
-	//client    *NacosClient
+	// client    *NacosClient
 }
 
 // WithNacosName Set nacos name
@@ -94,7 +94,7 @@ func ValidateNacosClient(container nacosClientFacade, opts ...option) error {
 	}
 	nacosAddresses := strings.Split(url.Location, ",")
 	if container.NacosClient() == nil {
-		//in dubbo ,every registry only connect one node ,so this is []string{r.Address}
+		// in dubbo ,every registry only connect one node ,so this is []string{r.Address}
 		newClient, err := newNacosClient(os.nacosName, nacosAddresses, timeout, url)
 		if err != nil {
 			logger.Errorf("newNacosClient(name{%s}, nacos address{%v}, timeout{%d}) = error{%v}",
diff --git a/config_center/nacos/facade.go b/config_center/nacos/facade.go
index d089ed26d2810e5c5076ec4b6342cbe10d00799d..b81c22416ff43f803b84d71f0df011ad59abcbd7 100644
--- a/config_center/nacos/facade.go
+++ b/config_center/nacos/facade.go
@@ -21,6 +21,7 @@ import (
 	"sync"
 	"time"
 )
+
 import (
 	"github.com/apache/dubbo-getty"
 	perrors "github.com/pkg/errors"
diff --git a/config_center/nacos/factory.go b/config_center/nacos/factory.go
index 3de91ea013df0c6bef8d70c741ff840ba3b77572..da06abd6e4549bede63316e1766a71d3c32bd808 100644
--- a/config_center/nacos/factory.go
+++ b/config_center/nacos/factory.go
@@ -28,8 +28,7 @@ func init() {
 	extension.SetConfigCenterFactory("nacos", func() config_center.DynamicConfigurationFactory { return &nacosDynamicConfigurationFactory{} })
 }
 
-type nacosDynamicConfigurationFactory struct {
-}
+type nacosDynamicConfigurationFactory struct{}
 
 // GetDynamicConfiguration Get Configuration with URL
 func (f *nacosDynamicConfigurationFactory) GetDynamicConfiguration(url *common.URL) (config_center.DynamicConfiguration, error) {
@@ -39,5 +38,4 @@ func (f *nacosDynamicConfigurationFactory) GetDynamicConfiguration(url *common.U
 	}
 	dynamicConfiguration.SetParser(&parser.DefaultConfigurationParser{})
 	return dynamicConfiguration, err
-
 }
diff --git a/config_center/nacos/impl.go b/config_center/nacos/impl.go
index 7c67930026369e7e2b6c58fc57d05d3a9edb50cc..8e56d232732b57e6e00f53f881f6344c48901ab6 100644
--- a/config_center/nacos/impl.go
+++ b/config_center/nacos/impl.go
@@ -72,7 +72,6 @@ func newNacosDynamicConfiguration(url *common.URL) (*nacosDynamicConfiguration,
 	c.wg.Add(1)
 	go HandleClientRestart(c)
 	return c, err
-
 }
 
 // AddListener Add listener
@@ -97,7 +96,6 @@ func (n *nacosDynamicConfiguration) GetInternalProperty(key string, opts ...conf
 
 // PublishConfig will publish the config with the (key, group, value) pair
 func (n *nacosDynamicConfiguration) PublishConfig(key string, group string, value string) error {
-
 	group = n.resolvedGroup(group)
 
 	ok, err := (*n.client.Client()).PublishConfig(vo.ConfigParam{
@@ -105,7 +103,6 @@ func (n *nacosDynamicConfiguration) PublishConfig(key string, group string, valu
 		Group:   group,
 		Content: value,
 	})
-
 	if err != nil {
 		return perrors.WithStack(err)
 	}
diff --git a/config_center/nacos/impl_test.go b/config_center/nacos/impl_test.go
index b7bd94bf96bfdafed1591e58f338fa23a0b96a6f..0372a6cecbb17d34c876660995246de2a3c98200 100644
--- a/config_center/nacos/impl_test.go
+++ b/config_center/nacos/impl_test.go
@@ -117,7 +117,6 @@ func TestNacosDynamicConfiguration_GetConfigKeysByGroup(t *testing.T) {
 	assert.Nil(t, err)
 	assert.Equal(t, 1, configs.Size())
 	assert.True(t, configs.Contains("application"))
-
 }
 
 func TestNacosDynamicConfigurationPublishConfig(t *testing.T) {
@@ -139,7 +138,7 @@ func TestAddListener(t *testing.T) {
 }
 
 func TestRemoveListener(_ *testing.T) {
-	//TODO not supported in current go_nacos_sdk version
+	// TODO not supported in current go_nacos_sdk version
 }
 
 type mockDataListener struct {
diff --git a/config_center/parser/configuration_parser.go b/config_center/parser/configuration_parser.go
index b104d3ddb6b2e10842b82a0498e039cb7e17ab12..eb811c0625170c94208018f3d1dde64640283753 100644
--- a/config_center/parser/configuration_parser.go
+++ b/config_center/parser/configuration_parser.go
@@ -112,7 +112,7 @@ func (parser *DefaultConfigurationParser) ParseToUrls(content string) ([]*common
 
 // serviceItemToUrls is used to transfer item and config to urls
 func serviceItemToUrls(item ConfigItem, config ConfiguratorConfig) ([]*common.URL, error) {
-	var addresses = item.Addresses
+	addresses := item.Addresses
 	if len(addresses) == 0 {
 		addresses = append(addresses, constant.ANYHOST_VALUE)
 	}
@@ -159,7 +159,7 @@ func serviceItemToUrls(item ConfigItem, config ConfiguratorConfig) ([]*common.UR
 
 // nolint
 func appItemToUrls(item ConfigItem, config ConfiguratorConfig) ([]*common.URL, error) {
-	var addresses = item.Addresses
+	addresses := item.Addresses
 	if len(addresses) == 0 {
 		addresses = append(addresses, constant.ANYHOST_VALUE)
 	}
diff --git a/config_center/zookeeper/factory.go b/config_center/zookeeper/factory.go
index 3f4690d4e0edb4a859d76bf0fd692ca54e1a7a6a..8e91972507f120722d70a114596465d5e6ef4648 100644
--- a/config_center/zookeeper/factory.go
+++ b/config_center/zookeeper/factory.go
@@ -28,8 +28,7 @@ func init() {
 	extension.SetConfigCenterFactory("zookeeper", func() config_center.DynamicConfigurationFactory { return &zookeeperDynamicConfigurationFactory{} })
 }
 
-type zookeeperDynamicConfigurationFactory struct {
-}
+type zookeeperDynamicConfigurationFactory struct{}
 
 func (f *zookeeperDynamicConfigurationFactory) GetDynamicConfiguration(url *common.URL) (config_center.DynamicConfiguration, error) {
 	dynamicConfiguration, err := newZookeeperDynamicConfiguration(url)
@@ -38,5 +37,4 @@ func (f *zookeeperDynamicConfigurationFactory) GetDynamicConfiguration(url *comm
 	}
 	dynamicConfiguration.SetParser(&parser.DefaultConfigurationParser{})
 	return dynamicConfiguration, err
-
 }
diff --git a/config_center/zookeeper/impl.go b/config_center/zookeeper/impl.go
index e24e63fd03d509cfcee42ab3b9f10ee4e4a31906..082bfbecd3aae00ee3caaa6fab9adb5aded45dfa 100644
--- a/config_center/zookeeper/impl.go
+++ b/config_center/zookeeper/impl.go
@@ -53,7 +53,7 @@ type zookeeperDynamicConfiguration struct {
 	done     chan struct{}
 	client   *gxzookeeper.ZookeeperClient
 
-	//listenerLock  sync.Mutex
+	// listenerLock  sync.Mutex
 	listener      *zookeeper.ZkEventListener
 	cacheListener *CacheListener
 	parser        parser.ConfigurationParser
@@ -78,7 +78,6 @@ func newZookeeperDynamicConfiguration(url *common.URL) (*zookeeperDynamicConfigu
 	err = c.client.Create(c.rootPath)
 	c.listener.ListenServiceEvent(url, c.rootPath, c.cacheListener)
 	return c, err
-
 }
 
 func (c *zookeeperDynamicConfiguration) AddListener(key string, listener config_center.ConfigurationListener, opions ...config_center.Option) {
@@ -90,7 +89,6 @@ func (c *zookeeperDynamicConfiguration) RemoveListener(key string, listener conf
 }
 
 func (c *zookeeperDynamicConfiguration) GetProperties(key string, opts ...config_center.Option) (string, error) {
-
 	tmpOpts := &config_center.Options{}
 	for _, opt := range opts {
 		opt(tmpOpts)
diff --git a/config_center/zookeeper/impl_test.go b/config_center/zookeeper/impl_test.go
index 7f17153e24ff2c4fa89be9b4dfb5d619a8a83db9..26d7870482f6347c78bae4760f60de003d65ba34 100644
--- a/config_center/zookeeper/impl_test.go
+++ b/config_center/zookeeper/impl_test.go
@@ -218,7 +218,6 @@ func TestZookeeperDynamicConfigurationPublishConfig(t *testing.T) {
 	assert.Nil(t, err)
 	assert.Equal(t, 1, keys.Size())
 	assert.True(t, keys.Contains(key))
-
 }
 
 type mockDataListener struct {
diff --git a/config_center/zookeeper/listener.go b/config_center/zookeeper/listener.go
index 244451a2d0af2b2e743f1d0889cb926df89b3c3b..d93e9d53d4f1486a22f19b0ebf3c55c039652392 100644
--- a/config_center/zookeeper/listener.go
+++ b/config_center/zookeeper/listener.go
@@ -41,7 +41,6 @@ func NewCacheListener(rootPath string) *CacheListener {
 
 // AddListener will add a listener if loaded
 func (l *CacheListener) AddListener(key string, listener config_center.ConfigurationListener) {
-
 	// reference from https://stackoverflow.com/questions/34018908/golang-why-dont-we-have-a-set-datastructure
 	// make a map[your type]struct{} like set in java
 	listeners, loaded := l.keyListeners.LoadOrStore(key, map[config_center.ConfigurationListener]struct{}{listener: {}})
@@ -62,7 +61,7 @@ func (l *CacheListener) RemoveListener(key string, listener config_center.Config
 // DataChange changes all listeners' event
 func (l *CacheListener) DataChange(event remoting.Event) bool {
 	if event.Content == "" {
-		//meanings new node
+		// meanings new node
 		return true
 	}
 	key := l.pathToKey(event.Path)
@@ -82,7 +81,7 @@ func (l *CacheListener) pathToKey(path string) string {
 	if strings.HasSuffix(key, constant.CONFIGURATORS_SUFFIX) ||
 		strings.HasSuffix(key, constant.TagRouterRuleSuffix) ||
 		strings.HasSuffix(key, constant.ConditionRouterRuleSuffix) {
-		//governance config, so we remove the "dubbo." prefix
+		// governance config, so we remove the "dubbo." prefix
 		return key[strings.Index(key, ".")+1:]
 	}
 	return key
diff --git a/filter/filter_impl/access_log_filter.go b/filter/filter_impl/access_log_filter.go
index 167b5edd804fd5b4b319e86d13815d1b4f698e1c..6aa4e65222ca0780cce36e1ef83048f7f475f47d 100644
--- a/filter/filter_impl/access_log_filter.go
+++ b/filter/filter_impl/access_log_filter.go
@@ -34,7 +34,7 @@ import (
 )
 
 const (
-	//used in URL.
+	// used in URL.
 
 	// nolint
 	FileDateFormat = "2006-01-02"
@@ -43,7 +43,7 @@ const (
 	// nolint
 	LogMaxBuffer = 5000
 	// nolint
-	LogFileMode = 0600
+	LogFileMode = 0o600
 
 	// those fields are the data collected by this filter
 
diff --git a/filter/filter_impl/active_filter.go b/filter/filter_impl/active_filter.go
index 795de968b57207830cc15fc8a0476bfdc3d2cb43..a391cb3ee3ada4a2a3666b64d26e1a513bfebba0 100644
--- a/filter/filter_impl/active_filter.go
+++ b/filter/filter_impl/active_filter.go
@@ -40,8 +40,7 @@ func init() {
 }
 
 // ActiveFilter tracks the requests status
-type ActiveFilter struct {
-}
+type ActiveFilter struct{}
 
 // Invoke starts to record the requests status
 func (ef *ActiveFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
diff --git a/filter/filter_impl/active_filter_test.go b/filter/filter_impl/active_filter_test.go
index 2397503dc8f46381a131bed6f924d465a71a9193..bb1676d3b87b4375b03c06fce5ba88bbcb9c3248 100644
--- a/filter/filter_impl/active_filter_test.go
+++ b/filter/filter_impl/active_filter_test.go
@@ -47,7 +47,6 @@ func TestActiveFilterInvoke(t *testing.T) {
 	invoker.EXPECT().GetUrl().Return(url).Times(1)
 	filter.Invoke(context.Background(), invoker, invoc)
 	assert.True(t, invoc.AttachmentsByKey(dubboInvokeStartTime, "") != "")
-
 }
 
 func TestActiveFilterOnResponse(t *testing.T) {
@@ -79,5 +78,4 @@ func TestActiveFilterOnResponse(t *testing.T) {
 	assert.True(t, urlStatus.GetFailedElapsed() >= int64(elapsed))
 	assert.True(t, urlStatus.GetLastRequestFailedTimestamp() != int64(0))
 	assert.True(t, methodStatus.GetLastRequestFailedTimestamp() != int64(0))
-
 }
diff --git a/filter/filter_impl/auth/accesskey_storage.go b/filter/filter_impl/auth/accesskey_storage.go
index 90d3efb5ad897b874c89745740637804808b5133..de49bcbc7933b0ceb35ff6d6332f91e6d464bc57 100644
--- a/filter/filter_impl/auth/accesskey_storage.go
+++ b/filter/filter_impl/auth/accesskey_storage.go
@@ -26,8 +26,7 @@ import (
 )
 
 // DefaultAccesskeyStorage is the default implementation of AccesskeyStorage
-type DefaultAccesskeyStorage struct {
-}
+type DefaultAccesskeyStorage struct{}
 
 // GetAccessKeyPair retrieves AccessKeyPair from url by the key "accessKeyId" and "secretAccessKey"
 func (storage *DefaultAccesskeyStorage) GetAccessKeyPair(invocation protocol.Invocation, url *common.URL) *filter.AccessKeyPair {
diff --git a/filter/filter_impl/auth/consumer_sign.go b/filter/filter_impl/auth/consumer_sign.go
index 823db82bfcb0bb165ef36bb9d141650df1e01432..3e298cdc3daebf3edf4d90b1fc51479080e6c8e5 100644
--- a/filter/filter_impl/auth/consumer_sign.go
+++ b/filter/filter_impl/auth/consumer_sign.go
@@ -21,6 +21,7 @@ import (
 	"context"
 	"fmt"
 )
+
 import (
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/extension"
@@ -30,8 +31,7 @@ import (
 )
 
 // ConsumerSignFilter signs the request on consumer side
-type ConsumerSignFilter struct {
-}
+type ConsumerSignFilter struct{}
 
 func init() {
 	extension.SetFilter(constant.CONSUMER_SIGN_FILTER, getConsumerSignFilter)
@@ -47,7 +47,6 @@ func (csf *ConsumerSignFilter) Invoke(ctx context.Context, invoker protocol.Invo
 	})
 	if err != nil {
 		panic(fmt.Sprintf("Sign for invocation %s # %s failed", url.ServiceKey(), invocation.MethodName()))
-
 	}
 	return invoker.Invoke(ctx, invocation)
 }
diff --git a/filter/filter_impl/auth/default_authenticator.go b/filter/filter_impl/auth/default_authenticator.go
index 7c7131c9cf1a4abba7b2ec1b4282b49b15f3c8b9..5a08b5483fa19915cbda118617f863530198d3bb 100644
--- a/filter/filter_impl/auth/default_authenticator.go
+++ b/filter/filter_impl/auth/default_authenticator.go
@@ -20,9 +20,10 @@ package auth
 import (
 	"errors"
 	"fmt"
-	"github.com/apache/dubbo-go/filter"
 	"strconv"
 	"time"
+
+	"github.com/apache/dubbo-go/filter"
 )
 
 import (
@@ -38,8 +39,7 @@ func init() {
 }
 
 // DefaultAuthenticator is the default implementation of Authenticator
-type DefaultAuthenticator struct {
-}
+type DefaultAuthenticator struct{}
 
 // Sign adds the signature to the invocation
 func (authenticator *DefaultAuthenticator) Sign(invocation protocol.Invocation, url *common.URL) error {
@@ -65,7 +65,6 @@ func (authenticator *DefaultAuthenticator) Sign(invocation protocol.Invocation,
 // getSignature
 // get signature by the metadata and params of the invocation
 func getSignature(url *common.URL, invocation protocol.Invocation, secrectKey string, currentTime string) (string, error) {
-
 	requestString := fmt.Sprintf(constant.SIGNATURE_STRING_FORMAT,
 		url.ColonSeparatedKey(), invocation.MethodName(), secrectKey, currentTime)
 	var signature string
@@ -125,7 +124,6 @@ func GetDefaultAuthenticator() filter.Authenticator {
 }
 
 func doAuthWork(url *common.URL, do func(filter.Authenticator) error) error {
-
 	shouldAuth := url.GetParamBool(constant.SERVICE_AUTH_KEY, false)
 	if shouldAuth {
 		authenticator := extension.GetAuthenticator(url.GetParam(constant.AUTHENTICATOR_KEY, constant.DEFAULT_AUTHENTICATOR))
diff --git a/filter/filter_impl/auth/default_authenticator_test.go b/filter/filter_impl/auth/default_authenticator_test.go
index d915b6a16ee5ccd15a390059d74e108bdf4c2bce..c253caf157bbeda38e5627762b0e59ea8cb17022 100644
--- a/filter/filter_impl/auth/default_authenticator_test.go
+++ b/filter/filter_impl/auth/default_authenticator_test.go
@@ -50,7 +50,7 @@ func TestDefaultAuthenticator_Authenticate(t *testing.T) {
 	requestTime := strconv.Itoa(int(time.Now().Unix() * 1000))
 	signature, _ := getSignature(testurl, inv, secret, requestTime)
 
-	var authenticator = &DefaultAuthenticator{}
+	authenticator := &DefaultAuthenticator{}
 
 	invcation := invocation.NewRPCInvocation("test", parmas, map[string]interface{}{
 		constant.REQUEST_SIGNATURE_KEY: signature,
@@ -69,7 +69,6 @@ func TestDefaultAuthenticator_Authenticate(t *testing.T) {
 	})
 	err = authenticator.Authenticate(invcation, testurl)
 	assert.NotNil(t, err)
-
 }
 
 func TestDefaultAuthenticator_Sign(t *testing.T) {
@@ -84,7 +83,6 @@ func TestDefaultAuthenticator_Sign(t *testing.T) {
 	assert.NotEqual(t, inv.AttachmentsByKey(constant.CONSUMER, ""), "")
 	assert.NotEqual(t, inv.AttachmentsByKey(constant.REQUEST_TIMESTAMP_KEY, ""), "")
 	assert.Equal(t, inv.AttachmentsByKey(constant.AK_KEY, ""), "akey")
-
 }
 
 func Test_getAccessKeyPairSuccess(t *testing.T) {
@@ -114,7 +112,6 @@ func Test_getAccessKeyPairFailed(t *testing.T) {
 		common.WithParamsValue(constant.ACCESS_KEY_ID_KEY, "akey"), common.WithParamsValue(constant.ACCESS_KEY_STORAGE_KEY, "dubbo"))
 	_, e = getAccessKeyPair(invcation, testurl)
 	assert.NoError(t, e)
-
 }
 
 func Test_getSignatureWithinParams(t *testing.T) {
diff --git a/filter/filter_impl/auth/provider_auth.go b/filter/filter_impl/auth/provider_auth.go
index 774fdb2fb8f69bc33fcbee36faae28f8f6e6d0cc..9a6490db0ea4c4f4ccb55f856af78c2b7199b59f 100644
--- a/filter/filter_impl/auth/provider_auth.go
+++ b/filter/filter_impl/auth/provider_auth.go
@@ -30,8 +30,7 @@ import (
 )
 
 // ProviderAuthFilter verifies the correctness of the signature on provider side
-type ProviderAuthFilter struct {
-}
+type ProviderAuthFilter struct{}
 
 func init() {
 	extension.SetFilter(constant.PROVIDER_AUTH_FILTER, getProviderAuthFilter)
diff --git a/filter/filter_impl/auth/provider_auth_test.go b/filter/filter_impl/auth/provider_auth_test.go
index dc130b59851ddb02572103b2e29361f9fc8f1c59..9e68b645f73bb11930fd5c66725b84347b772b35 100644
--- a/filter/filter_impl/auth/provider_auth_test.go
+++ b/filter/filter_impl/auth/provider_auth_test.go
@@ -70,5 +70,4 @@ func TestProviderAuthFilter_Invoke(t *testing.T) {
 	assert.Equal(t, result, filter.Invoke(context.Background(), invoker, inv))
 	url.SetParam(constant.SERVICE_AUTH_KEY, "true")
 	assert.Equal(t, result, filter.Invoke(context.Background(), invoker, inv))
-
 }
diff --git a/filter/filter_impl/auth/sign_util_test.go b/filter/filter_impl/auth/sign_util_test.go
index a4aaf2da27a8dd14969e0e3f93eaee16dfc31b03..69203e6f3be4c1a073d0453008ebd9c0090c5853 100644
--- a/filter/filter_impl/auth/sign_util_test.go
+++ b/filter/filter_impl/auth/sign_util_test.go
@@ -56,7 +56,6 @@ func TestSign(t *testing.T) {
 	key := "key"
 	signature := Sign(metadata, key)
 	assert.NotNil(t, signature)
-
 }
 
 func TestSignWithParams(t *testing.T) {
diff --git a/filter/filter_impl/execute_limit_filter.go b/filter/filter_impl/execute_limit_filter.go
index 35611611c8a716c3799d85e4c31fd3440b3611ef..fdd472c48542ad0a93ff132d6c324a4c5db6ca84 100644
--- a/filter/filter_impl/execute_limit_filter.go
+++ b/filter/filter_impl/execute_limit_filter.go
@@ -134,8 +134,10 @@ func (state *ExecuteState) decrease() {
 	atomic.AddInt64(&state.concurrentCount, -1)
 }
 
-var executeLimitOnce sync.Once
-var executeLimitFilter *ExecuteLimitFilter
+var (
+	executeLimitOnce   sync.Once
+	executeLimitFilter *ExecuteLimitFilter
+)
 
 // GetExecuteLimitFilter returns the singleton ExecuteLimitFilter instance
 func GetExecuteLimitFilter() filter.Filter {
diff --git a/filter/filter_impl/generic_filter.go b/filter/filter_impl/generic_filter.go
index cf307d0ad865da704ae048f21606704fd4204cb3..f184bd37b0710c00fc42c93c9d5aca4f106b75d2 100644
--- a/filter/filter_impl/generic_filter.go
+++ b/filter/filter_impl/generic_filter.go
@@ -38,7 +38,7 @@ import (
 
 const (
 	// GENERIC
-	//generic module name
+	// generic module name
 	GENERIC = "generic"
 )
 
@@ -115,14 +115,14 @@ func struct2MapAll(obj interface{}) interface{} {
 		return result
 	} else if t.Kind() == reflect.Slice {
 		value := reflect.ValueOf(obj)
-		var newTemps = make([]interface{}, 0, value.Len())
+		newTemps := make([]interface{}, 0, value.Len())
 		for i := 0; i < value.Len(); i++ {
 			newTemp := struct2MapAll(value.Index(i).Interface())
 			newTemps = append(newTemps, newTemp)
 		}
 		return newTemps
 	} else if t.Kind() == reflect.Map {
-		var newTempMap = make(map[interface{}]interface{}, v.Len())
+		newTempMap := make(map[interface{}]interface{}, v.Len())
 		iter := v.MapRange()
 		for iter.Next() {
 			if !iter.Value().CanInterface() {
diff --git a/filter/filter_impl/generic_service_filter_test.go b/filter/filter_impl/generic_service_filter_test.go
index c755a2d28080e8c6a56e742181b944d299e493ed..6b80d2168c8c25f29b2e95ab404b800dbecfc7d5 100644
--- a/filter/filter_impl/generic_service_filter_test.go
+++ b/filter/filter_impl/generic_service_filter_test.go
@@ -93,7 +93,8 @@ func TestGenericServiceFilterInvoke(t *testing.T) {
 			hessian.Object(append(make([]map[string]interface{}, 1), m)),
 			hessian.Object("111"),
 			hessian.Object(append(make([]map[string]interface{}, 1), m)),
-			hessian.Object("222")},
+			hessian.Object("222"),
+		},
 	}
 	s := &TestService{}
 	_, _ = common.ServiceMap.Register("com.test.Path", "testprotocol", "", "", s)
diff --git a/filter/filter_impl/graceful_shutdown_filter.go b/filter/filter_impl/graceful_shutdown_filter.go
index 4a4e8ce466edabe82815b99244404ac024d73b26..f79123c8f290da1c07e5db73a7b6d2b2803f1f6f 100644
--- a/filter/filter_impl/graceful_shutdown_filter.go
+++ b/filter/filter_impl/graceful_shutdown_filter.go
@@ -32,10 +32,10 @@ import (
 )
 
 func init() {
-	var consumerFiler = &gracefulShutdownFilter{
+	consumerFiler := &gracefulShutdownFilter{
 		shutdownConfig: config.GetConsumerConfig().ShutdownConfig,
 	}
-	var providerFilter = &gracefulShutdownFilter{
+	providerFilter := &gracefulShutdownFilter{
 		shutdownConfig: config.GetProviderConfig().ShutdownConfig,
 	}
 
diff --git a/filter/filter_impl/graceful_shutdown_filter_test.go b/filter/filter_impl/graceful_shutdown_filter_test.go
index b16956e01c85b52ec0009f96998a72e2a4314911..870c808a349e5da6b3fbc0c2c518ada661271ea7 100644
--- a/filter/filter_impl/graceful_shutdown_filter_test.go
+++ b/filter/filter_impl/graceful_shutdown_filter_test.go
@@ -72,5 +72,4 @@ func TestGenericFilterInvoke(t *testing.T) {
 	})
 	assert.True(t, providerConfig.ShutdownConfig.RequestsFinished)
 	assert.Equal(t, rejectHandler, shutdownFilter.getRejectHandler())
-
 }
diff --git a/filter/filter_impl/hystrix_filter.go b/filter/filter_impl/hystrix_filter.go
index d13e02c06f7b2191e4d01c013a72300e1b095616..3a7c0c482934dd2bd48473064f45b7d05ef77255 100644
--- a/filter/filter_impl/hystrix_filter.go
+++ b/filter/filter_impl/hystrix_filter.go
@@ -23,11 +23,13 @@ import (
 	"regexp"
 	"sync"
 )
+
 import (
 	"github.com/afex/hystrix-go/hystrix"
 	perrors "github.com/pkg/errors"
 	"gopkg.in/yaml.v2"
 )
+
 import (
 	"github.com/apache/dubbo-go/common/extension"
 	"github.com/apache/dubbo-go/common/logger"
@@ -123,7 +125,7 @@ func NewHystrixFilterError(err error, failByHystrix bool) error {
  * 	      "GetUser1": "userp_m"
  */
 type HystrixFilter struct {
-	COrP     bool //true for consumer
+	COrP     bool // true for consumer
 	res      map[string][]*regexp.Regexp
 	ifNewMap sync.Map
 }
@@ -179,7 +181,7 @@ func (hf *HystrixFilter) Invoke(ctx context.Context, invoker protocol.Invoker, i
 		}
 		return err
 	}, func(err error) error {
-		//Return error and if it is caused by hystrix logic, so that it can be handled by previous filters.
+		// Return error and if it is caused by hystrix logic, so that it can be handled by previous filters.
 		_, ok := err.(hystrix.CircuitError)
 		logger.Debugf("[Hystrix Filter]Hystrix health check counted, error is: %v, failed by hystrix: %v; %s", err, ok, cmdName)
 		result = &protocol.RPCResult{}
@@ -197,7 +199,7 @@ func (hf *HystrixFilter) OnResponse(ctx context.Context, result protocol.Result,
 
 // GetHystrixFilterConsumer returns HystrixFilter instance for consumer
 func GetHystrixFilterConsumer() filter.Filter {
-	//When first called, load the config in
+	// When first called, load the config in
 	consumerConfigOnce.Do(func() {
 		if err := initHystrixConfigConsumer(); err != nil {
 			logger.Warnf("[Hystrix Filter]Config load failed for consumer, error is: %v , will use default", err)
@@ -217,7 +219,7 @@ func GetHystrixFilterProvider() filter.Filter {
 }
 
 func getConfig(service string, method string, cOrP bool) CommandConfigWithError {
-	//Find method level config
+	// Find method level config
 	var conf *HystrixFilterConfig
 	if cOrP {
 		conf = confConsumer
@@ -229,13 +231,13 @@ func getConfig(service string, method string, cOrP bool) CommandConfigWithError
 		logger.Infof("[Hystrix Filter]Found method-level config for %s - %s", service, method)
 		return *getConf
 	}
-	//Find service level config
+	// Find service level config
 	getConf = conf.Configs[conf.Services[service].ServiceConfig]
 	if getConf != nil {
 		logger.Infof("[Hystrix Filter]Found service-level config for %s - %s", service, method)
 		return *getConf
 	}
-	//Find default config
+	// Find default config
 	getConf = conf.Configs[conf.Default]
 	if getConf != nil {
 		logger.Infof("[Hystrix Filter]Found global default config for %s - %s", service, method)
@@ -244,7 +246,6 @@ func getConfig(service string, method string, cOrP bool) CommandConfigWithError
 	getConf = &CommandConfigWithError{}
 	logger.Infof("[Hystrix Filter]No config found for %s - %s, using default", service, method)
 	return *getConf
-
 }
 
 func initHystrixConfigConsumer() error {
diff --git a/filter/filter_impl/hystrix_filter_test.go b/filter/filter_impl/hystrix_filter_test.go
index 4973ce7f70353a70befec74f1bab9333b6b58fd1..8bf72636dfecefe47de11942f11eee6974059d84 100644
--- a/filter/filter_impl/hystrix_filter_test.go
+++ b/filter/filter_impl/hystrix_filter_test.go
@@ -47,7 +47,7 @@ func TestNewHystrixFilterError(t *testing.T) {
 }
 
 func mockInitHystrixConfig() {
-	//Mock config
+	// Mock config
 	confConsumer = &HystrixFilterConfig{
 		make(map[string]*CommandConfigWithError),
 		"Default",
@@ -85,7 +85,6 @@ func mockInitHystrixConfig() {
 			"GetUser": "userp_m",
 		},
 	}
-
 }
 
 func TestGetHystrixFilter(t *testing.T) {
@@ -117,7 +116,7 @@ func TestGetConfig2(t *testing.T) {
 
 func TestGetConfig3(t *testing.T) {
 	mockInitHystrixConfig()
-	//This should use default
+	// This should use default
 	configGot := getConfig("Mock.Service", "GetMock", true)
 	assert.NotNil(t, configGot)
 	assert.Equal(t, 1000, configGot.Timeout)
@@ -186,7 +185,7 @@ func TestHystricFilterInvokeCircuitBreak(t *testing.T) {
 			resChan <- result
 		}()
 	}
-	//This can not always pass the test when on travis due to concurrency, you can uncomment the code below and test it locally
+	// This can not always pass the test when on travis due to concurrency, you can uncomment the code below and test it locally
 
 	//var lastRest bool
 	//for i := 0; i < 50; i++ {
@@ -195,7 +194,6 @@ func TestHystricFilterInvokeCircuitBreak(t *testing.T) {
 	//Normally the last result should be true, which means the circuit has been opened
 	//
 	//assert.True(t, lastRest)
-
 }
 
 func TestHystricFilterInvokeCircuitBreakOmitException(t *testing.T) {
@@ -215,7 +213,7 @@ func TestHystricFilterInvokeCircuitBreakOmitException(t *testing.T) {
 			resChan <- result
 		}()
 	}
-	//This can not always pass the test when on travis due to concurrency, you can uncomment the code below and test it locally
+	// This can not always pass the test when on travis due to concurrency, you can uncomment the code below and test it locally
 
 	//time.Sleep(time.Second * 6)
 	//var lastRest bool
@@ -224,7 +222,6 @@ func TestHystricFilterInvokeCircuitBreakOmitException(t *testing.T) {
 	//}
 	//
 	//assert.False(t, lastRest)
-
 }
 
 func TestGetHystrixFilterConsumer(t *testing.T) {
diff --git a/filter/filter_impl/metrics_filter.go b/filter/filter_impl/metrics_filter.go
index f4734172b74c8bbcdac5c9a9743acb4df5fcb6b5..27eddfdd06e9efc93ad0f395ad5481028bf9b779 100644
--- a/filter/filter_impl/metrics_filter.go
+++ b/filter/filter_impl/metrics_filter.go
@@ -34,9 +34,7 @@ const (
 	metricFilterName = "metrics"
 )
 
-var (
-	metricFilterInstance filter.Filter
-)
+var metricFilterInstance filter.Filter
 
 // must initialized before using the filter and after loading configuration
 func init() {
diff --git a/filter/filter_impl/metrics_filter_test.go b/filter/filter_impl/metrics_filter_test.go
index ac10d52cf3c156e3580760a4409bab49bb4d0c4f..98fe129532266d67c9c37b8e6d2e1b12cb8e5e95 100644
--- a/filter/filter_impl/metrics_filter_test.go
+++ b/filter/filter_impl/metrics_filter_test.go
@@ -39,7 +39,6 @@ import (
 )
 
 func TestMetricsFilterInvoke(t *testing.T) {
-
 	// prepare the mock reporter
 	config.GetMetricConfig().Reporters = []string{"mock"}
 	mk := &mockReporter{}
diff --git a/filter/filter_impl/sentinel_filter.go b/filter/filter_impl/sentinel_filter.go
index 1de27adbac1808dbbbf8017f0119077752191d6f..cbe1c387418be002ee37febc5f63d9aefee6726d 100644
--- a/filter/filter_impl/sentinel_filter.go
+++ b/filter/filter_impl/sentinel_filter.go
@@ -186,9 +186,11 @@ type DubboFallback func(context.Context, protocol.Invoker, protocol.Invocation,
 func SetDubboConsumerFallback(f DubboFallback) {
 	sentinelDubboConsumerFallback = f
 }
+
 func SetDubboProviderFallback(f DubboFallback) {
 	sentinelDubboProviderFallback = f
 }
+
 func getDefaultDubboFallback() DubboFallback {
 	return func(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation, blockError *base.BlockError) protocol.Result {
 		result := &protocol.RPCResult{}
diff --git a/filter/filter_impl/sentinel_filter_test.go b/filter/filter_impl/sentinel_filter_test.go
index c6b6d4280f08099ce3eef8bf1e5a3c37e9e67c59..ee0f0be13d709bf28418552386d9f83b3ec34f79 100644
--- a/filter/filter_impl/sentinel_filter_test.go
+++ b/filter/filter_impl/sentinel_filter_test.go
@@ -51,7 +51,7 @@ func TestSentinelFilter_QPS(t *testing.T) {
 	_, err = flow.LoadRules([]*flow.Rule{
 		{
 			Resource: interfaceResourceName,
-			//MetricType:             flow.QPS,
+			// MetricType:             flow.QPS,
 			TokenCalculateStrategy: flow.Direct,
 			ControlBehavior:        flow.Reject,
 			Threshold:              100,
diff --git a/filter/filter_impl/tps/tps_limit_fix_window_strategy.go b/filter/filter_impl/tps/tps_limit_fix_window_strategy.go
index d495e035de521612cc9b85ec9e817ae3355a818b..e992ece44fa821deb6a11b21df6e4246b3427c1f 100644
--- a/filter/filter_impl/tps/tps_limit_fix_window_strategy.go
+++ b/filter/filter_impl/tps/tps_limit_fix_window_strategy.go
@@ -68,7 +68,6 @@ type FixedWindowTpsLimitStrategyImpl struct {
 // IsAllowable determines if the requests over the TPS limit within the interval.
 // It is not thread-safe.
 func (impl *FixedWindowTpsLimitStrategyImpl) IsAllowable() bool {
-
 	current := time.Now().UnixNano()
 	if impl.timestamp+impl.interval < current {
 		// it's a new window
diff --git a/filter/filter_impl/tps/tps_limiter_method_service.go b/filter/filter_impl/tps/tps_limiter_method_service.go
index f0c276438beaa161a6f6b13bc95c1fd7f357e8b6..76d06bd3fd6a156f0c2598cf0e57e78fb7da1fb2 100644
--- a/filter/filter_impl/tps/tps_limiter_method_service.go
+++ b/filter/filter_impl/tps/tps_limiter_method_service.go
@@ -121,7 +121,6 @@ type MethodServiceTpsLimiterImpl struct {
 // This implementation use concurrent map + loadOrStore to make implementation thread-safe
 // You can image that even multiple threads create limiter, but only one could store the limiter into tpsState
 func (limiter MethodServiceTpsLimiterImpl) IsAllowable(url *common.URL, invocation protocol.Invocation) bool {
-
 	methodConfigPrefix := "methods." + invocation.MethodName() + "."
 
 	methodLimitRateConfig := url.GetParam(methodConfigPrefix+constant.TPS_LIMIT_RATE_KEY, "")
@@ -193,15 +192,16 @@ func getLimitConfig(methodLevelConfig string,
 	// actually there is no method-level configuration, so we use the service-level configuration
 
 	result, err := strconv.ParseInt(url.GetParam(configKey, defaultVal), 0, 0)
-
 	if err != nil {
 		panic(fmt.Sprintf("Cannot parse the configuration %s, please check your configuration!", configKey))
 	}
 	return result
 }
 
-var methodServiceTpsLimiterInstance *MethodServiceTpsLimiterImpl
-var methodServiceTpsLimiterOnce sync.Once
+var (
+	methodServiceTpsLimiterInstance *MethodServiceTpsLimiterImpl
+	methodServiceTpsLimiterOnce     sync.Once
+)
 
 // GetMethodServiceTpsLimiter will return an MethodServiceTpsLimiterImpl instance.
 func GetMethodServiceTpsLimiter() filter.TpsLimiter {
diff --git a/filter/filter_impl/tps/tps_limiter_method_service_test.go b/filter/filter_impl/tps/tps_limiter_method_service_test.go
index 5baa70a5bc4eebe162243a485521543802a51f2c..cb9578fca7ffd59342e6d326ae02700ac6247817 100644
--- a/filter/filter_impl/tps/tps_limiter_method_service_test.go
+++ b/filter/filter_impl/tps/tps_limiter_method_service_test.go
@@ -21,6 +21,7 @@ import (
 	"net/url"
 	"testing"
 )
+
 import (
 	"github.com/golang/mock/gomock"
 	"github.com/stretchr/testify/assert"
diff --git a/filter/filter_impl/tps_limit_filter.go b/filter/filter_impl/tps_limit_filter.go
index ea1e3bc15e1952799227d712db114ff790527720..210e1579bb3cd5a050907fd1de602ce1aee7c7e0 100644
--- a/filter/filter_impl/tps_limit_filter.go
+++ b/filter/filter_impl/tps_limit_filter.go
@@ -20,6 +20,7 @@ package filter_impl
 import (
 	"context"
 )
+
 import (
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/extension"
@@ -53,8 +54,7 @@ func init() {
  *   tps.limit.rejected.handler: "default", # optional, or the name of the implementation
  *   if the value of 'tps.limiter' is nil or empty string, the tps filter will do nothing
  */
-type TpsLimitFilter struct {
-}
+type TpsLimitFilter struct{}
 
 // Invoke gets the configured limter to impose TPS limiting
 func (t TpsLimitFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
diff --git a/filter/filter_impl/tps_limit_filter_test.go b/filter/filter_impl/tps_limit_filter_test.go
index 55a3a55fab28efc7c27d9f5ccc4a3ec454bb6d15..24f9827ce440cdcf1f6640e531d375f2f036953c 100644
--- a/filter/filter_impl/tps_limit_filter_test.go
+++ b/filter/filter_impl/tps_limit_filter_test.go
@@ -52,7 +52,6 @@ func TestTpsLimitFilterInvokeWithNoTpsLimiter(t *testing.T) {
 			[]interface{}{"OK"}, attch))
 	assert.Nil(t, result.Error())
 	assert.Nil(t, result.Result())
-
 }
 
 func TestGenericFilterInvokeWithDefaultTpsLimiter(t *testing.T) {
diff --git a/filter/filter_impl/tracing_filter.go b/filter/filter_impl/tracing_filter.go
index dcdbe5b30e3c288462e9078df234243435ca86c6..8a30c965daa25c65292bd88b8fb19cacc5d09d2a 100644
--- a/filter/filter_impl/tracing_filter.go
+++ b/filter/filter_impl/tracing_filter.go
@@ -50,8 +50,7 @@ var (
 
 // if you wish to using opentracing, please add the this filter into your filter attribute in your configure file.
 // notice that this could be used in both client-side and server-side.
-type tracingFilter struct {
-}
+type tracingFilter struct{}
 
 func (tf *tracingFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
 	var (
@@ -95,9 +94,7 @@ func (tf *tracingFilter) OnResponse(ctx context.Context, result protocol.Result,
 	return result
 }
 
-var (
-	tracingFilterInstance *tracingFilter
-)
+var tracingFilterInstance *tracingFilter
 
 func newTracingFilter() filter.Filter {
 	if tracingFilterInstance == nil {
diff --git a/filter/handler/rejected_execution_handler_only_log.go b/filter/handler/rejected_execution_handler_only_log.go
index 5242b5b49e8a12322821481d237d84710c15eafd..5277b2753091d5604b7ecc6251d5fb35abb9e77c 100644
--- a/filter/handler/rejected_execution_handler_only_log.go
+++ b/filter/handler/rejected_execution_handler_only_log.go
@@ -18,8 +18,9 @@
 package handler
 
 import (
-	"github.com/apache/dubbo-go/filter"
 	"sync"
+
+	"github.com/apache/dubbo-go/filter"
 )
 
 import (
@@ -41,8 +42,10 @@ func init() {
 	extension.SetRejectedExecutionHandler(constant.DEFAULT_KEY, GetOnlyLogRejectedExecutionHandler)
 }
 
-var onlyLogHandlerInstance *OnlyLogRejectedExecutionHandler
-var onlyLogHandlerOnce sync.Once
+var (
+	onlyLogHandlerInstance *OnlyLogRejectedExecutionHandler
+	onlyLogHandlerOnce     sync.Once
+)
 
 // OnlyLogRejectedExecutionHandler implements the RejectedExecutionHandler
 /**
@@ -59,8 +62,7 @@ var onlyLogHandlerOnce sync.Once
  *    - name: "GetUser"
  * OnlyLogRejectedExecutionHandler is designed to be singleton
  */
-type OnlyLogRejectedExecutionHandler struct {
-}
+type OnlyLogRejectedExecutionHandler struct{}
 
 // RejectedExecution will do nothing, it only log the invocation.
 func (handler *OnlyLogRejectedExecutionHandler) RejectedExecution(url *common.URL,
diff --git a/filter/handler/rejected_execution_handler_only_log_test.go b/filter/handler/rejected_execution_handler_only_log_test.go
index 7aa4aff936d6da1e46ed5a24609a0346e9d2edb4..acc3a1940f2325f758605697075b35223fdcf09a 100644
--- a/filter/handler/rejected_execution_handler_only_log_test.go
+++ b/filter/handler/rejected_execution_handler_only_log_test.go
@@ -21,6 +21,7 @@ import (
 	"net/url"
 	"testing"
 )
+
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
diff --git a/metadata/definition/mock.go b/metadata/definition/mock.go
index ca9e125a7480c2b6ff57d0b7cc820b537eb908f2..02f969c6c6c4719d3ad19e6009da66ff3397d870 100644
--- a/metadata/definition/mock.go
+++ b/metadata/definition/mock.go
@@ -29,8 +29,7 @@ type User struct {
 	Time time.Time
 }
 
-type UserProvider struct {
-}
+type UserProvider struct{}
 
 func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
 	rsp := User{"A001", "Alex Stocks", 18, time.Now()}
diff --git a/metadata/identifier/base_metadata_identifier.go b/metadata/identifier/base_metadata_identifier.go
index 2371f7ca02f403a11251b9b0cbb23369b27683e2..47c2e938ceae14f8c372104199b5a260f83c6181 100644
--- a/metadata/identifier/base_metadata_identifier.go
+++ b/metadata/identifier/base_metadata_identifier.go
@@ -68,7 +68,6 @@ func (mdi *BaseMetadataIdentifier) getFilePathKey(params ...string) string {
 		withPathSeparator(mdi.Group) +
 		withPathSeparator(mdi.Side) +
 		joinParams(constant.PATH_SEPARATOR, params)
-
 }
 
 // serviceToPath uss URL encode to decode the @serviceInterface
@@ -82,7 +81,6 @@ func serviceToPath(serviceInterface string) string {
 		}
 		return string(decoded)
 	}
-
 }
 
 // withPathSeparator return "/" + @path
diff --git a/metadata/mapping/dynamic/service_name_mapping_test.go b/metadata/mapping/dynamic/service_name_mapping_test.go
index af21704b69c674a2cd1b8963bb252ac73c0abf1e..d98a893f6710740b2bd4c4c9e7aa1b3690e7cf1a 100644
--- a/metadata/mapping/dynamic/service_name_mapping_test.go
+++ b/metadata/mapping/dynamic/service_name_mapping_test.go
@@ -33,7 +33,6 @@ import (
 )
 
 func TestDynamicConfigurationServiceNameMapping(t *testing.T) {
-
 	// mock data
 	appName := "myApp"
 	dc, err := (&config_center.MockDynamicConfigurationFactory{
diff --git a/metadata/mapping/memory/service_name_mapping.go b/metadata/mapping/memory/service_name_mapping.go
index 0965d52d91e047215abd9b7d14523ecaa833f0ed..8017ec794be59d00295d6d4bbb6253c21cef5f4a 100644
--- a/metadata/mapping/memory/service_name_mapping.go
+++ b/metadata/mapping/memory/service_name_mapping.go
@@ -24,6 +24,7 @@ import (
 import (
 	gxset "github.com/dubbogo/gost/container/set"
 )
+
 import (
 	"github.com/apache/dubbo-go/common/extension"
 	"github.com/apache/dubbo-go/config"
@@ -44,8 +45,10 @@ func (i *InMemoryServiceNameMapping) Get(serviceInterface string, group string,
 	return gxset.NewSet(config.GetApplicationConfig().Name), nil
 }
 
-var serviceNameMappingInstance *InMemoryServiceNameMapping
-var serviceNameMappingOnce sync.Once
+var (
+	serviceNameMappingInstance *InMemoryServiceNameMapping
+	serviceNameMappingOnce     sync.Once
+)
 
 func GetNameMappingInstance() mapping.ServiceNameMapping {
 	serviceNameMappingOnce.Do(func() {
diff --git a/metadata/report/consul/report.go b/metadata/report/consul/report.go
index e211f7fde4d462bd20603af54444036681a46f4d..0c9f9cb7c9a66d149ef8a1f37e5e0f11accbd505 100644
--- a/metadata/report/consul/report.go
+++ b/metadata/report/consul/report.go
@@ -29,9 +29,7 @@ import (
 	"github.com/apache/dubbo-go/metadata/report/factory"
 )
 
-var (
-	emptyStrSlice = make([]string, 0)
-)
+var emptyStrSlice = make([]string, 0)
 
 func init() {
 	mf := &consulMetadataReportFactory{}
@@ -111,8 +109,7 @@ func (m *consulMetadataReport) GetServiceDefinition(metadataIdentifier *identifi
 	return string(kv.Value), nil
 }
 
-type consulMetadataReportFactory struct {
-}
+type consulMetadataReportFactory struct{}
 
 // nolint
 func (mf *consulMetadataReportFactory) CreateMetadataReport(url *common.URL) report.MetadataReport {
diff --git a/metadata/report/delegate/delegate_report.go b/metadata/report/delegate/delegate_report.go
index 56a22de8f8e56c040260edf86859a4499f1b2f39..2cd9af8feccf0fbce73824e8bae97f9ed1dd1767 100644
--- a/metadata/report/delegate/delegate_report.go
+++ b/metadata/report/delegate/delegate_report.go
@@ -125,7 +125,6 @@ func NewMetadataReport() (*MetadataReport, error) {
 		url.GetParamInt(constant.RETRY_TIMES_KEY, defaultMetadataReportRetryTimes),
 		bmr.retry,
 	)
-
 	if err != nil {
 		return nil, err
 	}
@@ -139,7 +138,6 @@ func NewMetadataReport() (*MetadataReport, error) {
 				bmr.allMetadataReportsLock.RLock()
 				bmr.doHandlerMetadataCollection(bmr.allMetadataReports)
 				bmr.allMetadataReportsLock.RUnlock()
-
 			})
 		if err != nil {
 			return nil, err
diff --git a/metadata/report/delegate/delegate_report_test.go b/metadata/report/delegate/delegate_report_test.go
index f60acf6e117c866cba716c538806f278d77363f0..f2c7376f34c361ab69671a6c2e7a0ef08ef2ed3f 100644
--- a/metadata/report/delegate/delegate_report_test.go
+++ b/metadata/report/delegate/delegate_report_test.go
@@ -87,7 +87,7 @@ func mockNewMetadataReport(t *testing.T) *MetadataReport {
 
 func TestMetadataReport_StoreProviderMetadata(t *testing.T) {
 	mtr := mockNewMetadataReport(t)
-	var metadataId = &identifier.MetadataIdentifier{
+	metadataId := &identifier.MetadataIdentifier{
 		Application: "app",
 		BaseMetadataIdentifier: identifier.BaseMetadataIdentifier{
 			ServiceInterface: "com.ikurento.user.UserProvider",
diff --git a/metadata/report/etcd/report_test.go b/metadata/report/etcd/report_test.go
index 59d0975ca675ef9550d3b2669a24ebd70ce94ec0..536149492b65cc77d4b28caac342635d3263ec0b 100644
--- a/metadata/report/etcd/report_test.go
+++ b/metadata/report/etcd/report_test.go
@@ -105,7 +105,6 @@ func newSubscribeMetadataIdentifier() *identifier.SubscriberMetadataIdentifier {
 		Revision:           "subscribe",
 		MetadataIdentifier: *newMetadataIdentifier("provider"),
 	}
-
 }
 
 func newServiceMetadataIdentifier() *identifier.ServiceMetadataIdentifier {
diff --git a/metadata/report/factory/report_factory.go b/metadata/report/factory/report_factory.go
index 9f00007cefbd5737c9c53d69924eba1d556c0023..df2cf74a83753e20bcfbb659644eaa3d873f4666 100644
--- a/metadata/report/factory/report_factory.go
+++ b/metadata/report/factory/report_factory.go
@@ -27,5 +27,4 @@ type MetadataReportFactory interface {
 	CreateMetadataReport(*common.URL) report.MetadataReport
 }
 
-type BaseMetadataReportFactory struct {
-}
+type BaseMetadataReportFactory struct{}
diff --git a/metadata/report/nacos/report.go b/metadata/report/nacos/report.go
index 42e9859c9fae70cc110dc45fca43dd95a5627d6e..f62d02fffbac1f110839ba8f78fbb19263446aeb 100644
--- a/metadata/report/nacos/report.go
+++ b/metadata/report/nacos/report.go
@@ -173,8 +173,7 @@ func (n *nacosMetadataReport) getConfig(param vo.ConfigParam) (string, error) {
 	return cfg, nil
 }
 
-type nacosMetadataReportFactory struct {
-}
+type nacosMetadataReportFactory struct{}
 
 // nolint
 func (n *nacosMetadataReportFactory) CreateMetadataReport(url *common.URL) report.MetadataReport {
diff --git a/metadata/report/zookeeper/report.go b/metadata/report/zookeeper/report.go
index 472f50a3ebdce1945bac401676816e6f334ced86..580be9151a90e5ca620ff8b3e6d6698e9a696310 100644
--- a/metadata/report/zookeeper/report.go
+++ b/metadata/report/zookeeper/report.go
@@ -35,9 +35,7 @@ import (
 	"github.com/apache/dubbo-go/metadata/report/factory"
 )
 
-var (
-	emptyStrSlice = make([]string, 0)
-)
+var emptyStrSlice = make([]string, 0)
 
 func init() {
 	mf := &zookeeperMetadataReportFactory{}
@@ -110,8 +108,7 @@ func (m *zookeeperMetadataReport) GetServiceDefinition(metadataIdentifier *ident
 	return string(v), err
 }
 
-type zookeeperMetadataReportFactory struct {
-}
+type zookeeperMetadataReportFactory struct{}
 
 // nolint
 func (mf *zookeeperMetadataReportFactory) CreateMetadataReport(url *common.URL) report.MetadataReport {
diff --git a/metadata/service/exporter/configurable/exporter_test.go b/metadata/service/exporter/configurable/exporter_test.go
index 7c2baa2728b4c4888d9dbb117816648d72874c0b..9b2c8e4becba8264091a0d21bd816f5e76955597 100644
--- a/metadata/service/exporter/configurable/exporter_test.go
+++ b/metadata/service/exporter/configurable/exporter_test.go
@@ -52,7 +52,8 @@ func TestConfigurableExporter(t *testing.T) {
 			WaitTimeout:      "1s",
 			MaxMsgLen:        10240000000,
 			SessionName:      "server",
-		}})
+		},
+	})
 	mockInitProviderWithSingleRegistry()
 	metadataService, _ := inmemory.NewMetadataService()
 	exported := NewMetadataServiceExporter(metadataService)
@@ -86,7 +87,8 @@ func mockInitProviderWithSingleRegistry() {
 				Module:       "module",
 				Version:      "1.0.0",
 				Owner:        "dubbo",
-				Environment:  "test"},
+				Environment:  "test",
+			},
 		},
 
 		Registry: &config.RegistryConfig{
diff --git a/metadata/service/inmemory/metadata_service_proxy_factory_test.go b/metadata/service/inmemory/metadata_service_proxy_factory_test.go
index f5e519cd5d2f83b85eaccf636e6771c18c74c277..5f62035328cf99fef9fcc0882803998401b25e74 100644
--- a/metadata/service/inmemory/metadata_service_proxy_factory_test.go
+++ b/metadata/service/inmemory/metadata_service_proxy_factory_test.go
@@ -63,8 +63,7 @@ func TestCreateProxy(t *testing.T) {
 	assert.NotNil(t, pxy)
 }
 
-type mockProtocol struct {
-}
+type mockProtocol struct{}
 
 func (m mockProtocol) Export(protocol.Invoker) protocol.Exporter {
 	panic("implement me")
@@ -78,8 +77,7 @@ func (m mockProtocol) Destroy() {
 	panic("implement me")
 }
 
-type mockInvoker struct {
-}
+type mockInvoker struct{}
 
 func (m *mockInvoker) GetUrl() *common.URL {
 	panic("implement me")
diff --git a/metadata/service/inmemory/service_proxy.go b/metadata/service/inmemory/service_proxy.go
index 8b93aab9accfd8375ded971c27f898069e73e231..fadf998b304d35006703299e59312f8c2c33aa23 100644
--- a/metadata/service/inmemory/service_proxy.go
+++ b/metadata/service/inmemory/service_proxy.go
@@ -40,11 +40,10 @@ import (
 // for now, only GetExportedURLs need to be implemented
 type MetadataServiceProxy struct {
 	invkr protocol.Invoker
-	//golangServer bool
+	// golangServer bool
 }
 
 func (m *MetadataServiceProxy) GetExportedURLs(serviceInterface string, group string, version string, protocol string) ([]interface{}, error) {
-
 	siV := reflect.ValueOf(serviceInterface)
 	gV := reflect.ValueOf(group)
 	vV := reflect.ValueOf(version)
diff --git a/metadata/service/inmemory/service_proxy_test.go b/metadata/service/inmemory/service_proxy_test.go
index 9278fd9d6cf1b4657d35028aa8c244fdbc16d106..c697faf04ca5fb0da33af6d7f025faf89c084256 100644
--- a/metadata/service/inmemory/service_proxy_test.go
+++ b/metadata/service/inmemory/service_proxy_test.go
@@ -35,13 +35,11 @@ import (
 )
 
 func TestMetadataServiceProxy_GetExportedURLs(t *testing.T) {
-
 	pxy := createPxy()
 	assert.NotNil(t, pxy)
 	res, err := pxy.GetExportedURLs(constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE)
 	assert.Nil(t, err)
 	assert.Len(t, res, 1)
-
 }
 
 // TestNewMetadataService: those methods are not implemented
diff --git a/metadata/service/remote/service.go b/metadata/service/remote/service.go
index e2a7a64d5311610b8d7c799d867f7f39c7f44fb8..95e5c7f4df9261e7b1e3853d9c4efafcb5e0fd95 100644
--- a/metadata/service/remote/service.go
+++ b/metadata/service/remote/service.go
@@ -109,7 +109,7 @@ func (mts *MetadataService) SubscribeURL(url *common.URL) (bool, error) {
 func (mts *MetadataService) UnsubscribeURL(url *common.URL) error {
 	// TODO remove call local.
 	return nil
-	//return mts.UnsubscribeURL(url)
+	// return mts.UnsubscribeURL(url)
 }
 
 // PublishServiceDefinition will call remote metadata's StoreProviderMetadata to store url info and service definition
diff --git a/metadata/service/remote/service_proxy.go b/metadata/service/remote/service_proxy.go
index e0cd6e0783fe4572e0a69cf0694d70f74ba46b42..241b3fc01a020e3f56b8b85aa122d36a983be5b9 100644
--- a/metadata/service/remote/service_proxy.go
+++ b/metadata/service/remote/service_proxy.go
@@ -20,6 +20,7 @@ package remote
 import (
 	"strings"
 )
+
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
@@ -81,7 +82,6 @@ func (m *metadataServiceProxy) GetExportedURLs(serviceInterface string, group st
 		Revision: m.revision,
 		Protocol: protocol,
 	})
-
 	if err != nil {
 		return []interface{}{}, nil
 	}
diff --git a/metadata/service/remote/service_proxy_test.go b/metadata/service/remote/service_proxy_test.go
index 1899d02205e17f62637488e68630649e60cff061..6edbab5cb66c74736772efe6189005c8208807e0 100644
--- a/metadata/service/remote/service_proxy_test.go
+++ b/metadata/service/remote/service_proxy_test.go
@@ -20,6 +20,7 @@ package remote
 import (
 	"testing"
 )
+
 import (
 	"github.com/stretchr/testify/assert"
 )
@@ -79,7 +80,6 @@ func TestMetadataServiceProxy(t *testing.T) {
 }
 
 func createProxy() service.MetadataService {
-
 	prepareTest()
 
 	ins := &registry.DefaultServiceInstance{
@@ -102,15 +102,13 @@ func prepareTest() {
 	instance.GetMetadataReportInstance(u)
 }
 
-type mockMetadataReportFactory struct {
-}
+type mockMetadataReportFactory struct{}
 
 func (m *mockMetadataReportFactory) CreateMetadataReport(*common.URL) report.MetadataReport {
 	return &mockMetadataReport{}
 }
 
-type mockMetadataReport struct {
-}
+type mockMetadataReport struct{}
 
 func (m mockMetadataReport) StoreProviderMetadata(*identifier.MetadataIdentifier, string) error {
 	panic("implement me")
diff --git a/metadata/service/remote/service_test.go b/metadata/service/remote/service_test.go
index d6028152ccb275238491accc055e67d0b903bc55..d9e4d1477bee3f836e6a57b220ae8c6c9636d158 100644
--- a/metadata/service/remote/service_test.go
+++ b/metadata/service/remote/service_test.go
@@ -47,15 +47,13 @@ func getMetadataReportFactory() factory.MetadataReportFactory {
 	return &metadataReportFactory{}
 }
 
-type metadataReportFactory struct {
-}
+type metadataReportFactory struct{}
 
 func (mrf *metadataReportFactory) CreateMetadataReport(*common.URL) report.MetadataReport {
 	return &metadataReport{}
 }
 
-type metadataReport struct {
-}
+type metadataReport struct{}
 
 func (metadataReport) StoreProviderMetadata(*identifier.MetadataIdentifier, string) error {
 	return nil
diff --git a/protocol/dubbo/dubbo_codec.go b/protocol/dubbo/dubbo_codec.go
index 21376c3145d7d620d7fc12f2bc67efcd65faee4b..6c367c7469c10ab966bf5e506cf70612c3052b92 100644
--- a/protocol/dubbo/dubbo_codec.go
+++ b/protocol/dubbo/dubbo_codec.go
@@ -36,7 +36,7 @@ import (
 	"github.com/apache/dubbo-go/remoting"
 )
 
-//SerialID serial ID
+// SerialID serial ID
 type SerialID byte
 
 func init() {
@@ -46,8 +46,7 @@ func init() {
 }
 
 // DubboCodec. It is implements remoting.Codec
-type DubboCodec struct {
-}
+type DubboCodec struct{}
 
 // encode request for transport
 func (c *DubboCodec) EncodeRequest(request *remoting.Request) (*bytes.Buffer, error) {
@@ -129,7 +128,7 @@ func (c *DubboCodec) encodeHeartbeartReqeust(request *remoting.Request) (*bytes.
 
 // encode response
 func (c *DubboCodec) EncodeResponse(response *remoting.Response) (*bytes.Buffer, error) {
-	var ptype = impl.PackageResponse
+	ptype := impl.PackageResponse
 	if response.IsHeartbeat() {
 		ptype = impl.PackageHeartbeat
 	}
@@ -190,7 +189,7 @@ func (c *DubboCodec) decodeRequest(data []byte) (*remoting.Request, int, error)
 	if err != nil {
 		originErr := perrors.Cause(err)
 		if originErr == hessian.ErrHeaderNotEnough || originErr == hessian.ErrBodyNotEnough {
-			//FIXME
+			// FIXME
 			return nil, 0, originErr
 		}
 		logger.Errorf("pkg.Unmarshal(len(@data):%d) = error:%+v", buf.Len(), err)
@@ -207,19 +206,19 @@ func (c *DubboCodec) decodeRequest(data []byte) (*remoting.Request, int, error)
 		// convert params of request
 		req := pkg.Body.(map[string]interface{})
 
-		//invocation := request.Data.(*invocation.RPCInvocation)
+		// invocation := request.Data.(*invocation.RPCInvocation)
 		var methodName string
 		var args []interface{}
 		attachments := make(map[string]interface{})
 		if req[impl.DubboVersionKey] != nil {
-			//dubbo version
+			// dubbo version
 			request.Version = req[impl.DubboVersionKey].(string)
 		}
-		//path
+		// path
 		attachments[constant.PATH_KEY] = pkg.Service.Path
-		//version
+		// version
 		attachments[constant.VERSION_KEY] = pkg.Service.Version
-		//method
+		// method
 		methodName = pkg.Service.Method
 		args = req[impl.ArgsKey].([]interface{})
 		attachments = req[impl.AttachmentsKey].(map[string]interface{})
@@ -248,7 +247,7 @@ func (c *DubboCodec) decodeResponse(data []byte) (*remoting.Response, int, error
 	}
 	response := &remoting.Response{
 		ID: pkg.Header.ID,
-		//Version:  pkg.Header.,
+		// Version:  pkg.Header.,
 		SerialID: pkg.Header.SerialID,
 		Status:   pkg.Header.ResponseStatus,
 		Event:    (pkg.Header.Type & impl.PackageHeartbeat) != 0,
@@ -264,7 +263,7 @@ func (c *DubboCodec) decodeResponse(data []byte) (*remoting.Response, int, error
 		} else {
 			logger.Debugf("get rpc heartbeat request{header: %#v, service: %#v, body: %#v}", pkg.Header, pkg.Service, pkg.Body)
 			response.Status = hessian.Response_OK
-			//reply(session, p, hessian.PackageHeartbeat)
+			// reply(session, p, hessian.PackageHeartbeat)
 		}
 		return response, hessian.HEADER_LENGTH + pkg.Header.BodyLen, error
 	}
diff --git a/protocol/dubbo/dubbo_invoker.go b/protocol/dubbo/dubbo_invoker.go
index bc85d73032cbbf01dabb3c951c051cac58f57e7c..12bab314b57b2bf21b148e0c395347cba610a7f9 100644
--- a/protocol/dubbo/dubbo_invoker.go
+++ b/protocol/dubbo/dubbo_invoker.go
@@ -39,10 +39,10 @@ import (
 	"github.com/apache/dubbo-go/remoting"
 )
 
-var (
-	attachmentKey = []string{constant.INTERFACE_KEY, constant.GROUP_KEY, constant.TOKEN_KEY, constant.TIMEOUT_KEY,
-		constant.VERSION_KEY}
-)
+var attachmentKey = []string{
+	constant.INTERFACE_KEY, constant.GROUP_KEY, constant.TOKEN_KEY, constant.TIMEOUT_KEY,
+	constant.VERSION_KEY,
+}
 
 // DubboInvoker is implement of protocol.Invoker. A dubboInvoker refers to one service and ip.
 type DubboInvoker struct {
@@ -141,7 +141,7 @@ func (di *DubboInvoker) Invoke(ctx context.Context, invocation protocol.Invocati
 		logger.Errorf("ParseBool - error: %v", err)
 		async = false
 	}
-	//response := NewResponse(inv.Reply(), nil)
+	// response := NewResponse(inv.Reply(), nil)
 	rest := &protocol.RPCResult{}
 	timeout := di.getTimeout(inv)
 	if async {
@@ -168,7 +168,7 @@ func (di *DubboInvoker) Invoke(ctx context.Context, invocation protocol.Invocati
 
 // get timeout including methodConfig
 func (di *DubboInvoker) getTimeout(invocation *invocation_impl.RPCInvocation) time.Duration {
-	var timeout = di.GetUrl().GetParam(strings.Join([]string{constant.METHOD_KEYS, invocation.MethodName(), constant.TIMEOUT_KEY}, "."), "")
+	timeout := di.GetUrl().GetParam(strings.Join([]string{constant.METHOD_KEYS, invocation.MethodName(), constant.TIMEOUT_KEY}, "."), "")
 	if len(timeout) != 0 {
 		if t, err := time.ParseDuration(timeout); err == nil {
 			// config timeout into attachment
diff --git a/protocol/dubbo/dubbo_invoker_test.go b/protocol/dubbo/dubbo_invoker_test.go
index fecb3b01ab286d4900cba4628cb80ea6d9920a9a..cfa81ca0b380c0509a3a1464296ac743581807e6 100644
--- a/protocol/dubbo/dubbo_invoker_test.go
+++ b/protocol/dubbo/dubbo_invoker_test.go
@@ -70,7 +70,7 @@ func TestDubboInvokerInvoke(t *testing.T) {
 		r := response.(remoting.AsyncCallbackResponse)
 		rst := *r.Reply.(*remoting.Response).Result.(*protocol.RPCResult)
 		assert.Equal(t, User{Id: "1", Name: "username"}, *(rst.Rest.(*User)))
-		//assert.Equal(t, User{ID: "1", Name: "username"}, *r.Reply.(*Response).reply.(*User))
+		// assert.Equal(t, User{ID: "1", Name: "username"}, *r.Reply.(*Response).reply.(*User))
 		lock.Unlock()
 	})
 	res = invoker.Invoke(context.Background(), inv)
@@ -94,7 +94,6 @@ func TestDubboInvokerInvoke(t *testing.T) {
 }
 
 func InitTest(t *testing.T) (protocol.Protocol, *common.URL) {
-
 	hessian.RegisterPOJO(&User{})
 
 	methods, err := common.ServiceMap.Register("com.ikurento.user.UserProvider", "dubbo", "", "", &UserProvider{})
@@ -139,7 +138,8 @@ func InitTest(t *testing.T) (protocol.Protocol, *common.URL) {
 			WaitTimeout:      "1s",
 			MaxMsgLen:        10240000000,
 			SessionName:      "server",
-		}})
+		},
+	})
 
 	// Export
 	proto := GetProtocol()
@@ -168,8 +168,7 @@ type (
 		Name string `json:"name"`
 	}
 
-	UserProvider struct {
-		//user map[string]User
+	UserProvider struct { // user map[string]User
 	}
 )
 
@@ -209,7 +208,6 @@ func (u *UserProvider) GetUser3(rsp *[]interface{}) error {
 }
 
 func (u *UserProvider) GetUser4(ctx context.Context, req []interface{}) ([]interface{}, error) {
-
 	return []interface{}{User{Id: req[0].([]interface{})[0].(string), Name: req[0].([]interface{})[1].(string)}}, nil
 }
 
diff --git a/protocol/dubbo/dubbo_protocol.go b/protocol/dubbo/dubbo_protocol.go
index d6a71dc001a47644dc837f8b25419942f479ff02..ce0ce47825da6cbdb2685416aee78e640f3d3918 100644
--- a/protocol/dubbo/dubbo_protocol.go
+++ b/protocol/dubbo/dubbo_protocol.go
@@ -56,9 +56,7 @@ func init() {
 	extension.SetProtocol(DUBBO, GetProtocol)
 }
 
-var (
-	dubboProtocol *DubboProtocol
-)
+var dubboProtocol *DubboProtocol
 
 // It support dubbo protocol. It implements Protocol interface for dubbo protocol.
 type DubboProtocol struct {
@@ -152,7 +150,7 @@ func doHandleRequest(rpcInvocation *invocation.RPCInvocation) protocol.RPCResult
 		err := fmt.Errorf("don't have this exporter, key: %s", rpcInvocation.ServiceKey())
 		logger.Errorf(err.Error())
 		result.Err = err
-		//reply(session, p, hessian.PackageResponse)
+		// reply(session, p, hessian.PackageResponse)
 		return result
 	}
 	invoker := exporter.(protocol.Exporter).GetInvoker()
@@ -163,12 +161,12 @@ func doHandleRequest(rpcInvocation *invocation.RPCInvocation) protocol.RPCResult
 		invokeResult := invoker.Invoke(ctx, rpcInvocation)
 		if err := invokeResult.Error(); err != nil {
 			result.Err = invokeResult.Error()
-			//p.Header.ResponseStatus = hessian.Response_OK
-			//p.Body = hessian.NewResponse(nil, err, result.Attachments())
+			// p.Header.ResponseStatus = hessian.Response_OK
+			// p.Body = hessian.NewResponse(nil, err, result.Attachments())
 		} else {
 			result.Rest = invokeResult.Result()
-			//p.Header.ResponseStatus = hessian.Response_OK
-			//p.Body = hessian.NewResponse(res, nil, result.Attachments())
+			// p.Header.ResponseStatus = hessian.Response_OK
+			// p.Body = hessian.NewResponse(res, nil, result.Attachments())
 		}
 	} else {
 		result.Err = fmt.Errorf("don't have the invoker, key: %s", rpcInvocation.ServiceKey())
diff --git a/protocol/dubbo/dubbo_protocol_test.go b/protocol/dubbo/dubbo_protocol_test.go
index 9eba90e9da564453649b378f061bc0179ffedc5e..f564c6da7a0317cf5bd11c200514042da14bba92 100644
--- a/protocol/dubbo/dubbo_protocol_test.go
+++ b/protocol/dubbo/dubbo_protocol_test.go
@@ -58,7 +58,8 @@ func initDubboInvokerTest() {
 			WaitTimeout:      "1s",
 			MaxMsgLen:        10240000000,
 			SessionName:      "server",
-		}})
+		},
+	})
 	getty.SetClientConf(getty.ClientConfig{
 		ConnectionNum:   1,
 		HeartbeatPeriod: "3s",
diff --git a/protocol/dubbo/hessian2/hessian_dubbo.go b/protocol/dubbo/hessian2/hessian_dubbo.go
index 5ffebde54b951997057a1f161dbcf6aae1d4a7fd..f61733fbed4b270c957539e396360124333db9e6 100644
--- a/protocol/dubbo/hessian2/hessian_dubbo.go
+++ b/protocol/dubbo/hessian2/hessian_dubbo.go
@@ -107,7 +107,6 @@ func (h *HessianCodec) Write(service Service, header DubboHeader, body interface
 
 // ReadHeader uses hessian codec to read dubbo header
 func (h *HessianCodec) ReadHeader(header *DubboHeader) error {
-
 	var err error
 
 	if h.reader.Size() < HEADER_LENGTH {
@@ -169,12 +168,10 @@ func (h *HessianCodec) ReadHeader(header *DubboHeader) error {
 	}
 
 	return perrors.WithStack(err)
-
 }
 
 // ReadBody uses hessian codec to read response body
 func (h *HessianCodec) ReadBody(rspObj interface{}) error {
-
 	if h.reader.Buffered() < h.bodyLen {
 		return ErrBodyNotEnough
 	}
diff --git a/protocol/dubbo/hessian2/hessian_dubbo_test.go b/protocol/dubbo/hessian2/hessian_dubbo_test.go
index eaaf500738e6c77142b0c0cb267fb0d8e7ac1437..e603b0086bacaa27a8ae507e56e3ee8d3d7df9cc 100644
--- a/protocol/dubbo/hessian2/hessian_dubbo_test.go
+++ b/protocol/dubbo/hessian2/hessian_dubbo_test.go
@@ -54,7 +54,7 @@ func (c CaseA) JavaClassName() string {
 	return "com.test.casea"
 }
 
-//JavaClassName  java fully qualified path
+// JavaClassName  java fully qualified path
 func (c Case) JavaClassName() string {
 	return "com.test.case"
 }
diff --git a/protocol/dubbo/hessian2/hessian_request.go b/protocol/dubbo/hessian2/hessian_request.go
index 94aa34dee895bc8d441f710edecabe0326da1400..7c4849ffcf5be4a607634d8f45dcc4214c49f7b4 100644
--- a/protocol/dubbo/hessian2/hessian_request.go
+++ b/protocol/dubbo/hessian2/hessian_request.go
@@ -274,7 +274,6 @@ END:
 
 // hessian decode request body
 func unpackRequestBody(decoder *hessian.Decoder, reqObj interface{}) error {
-
 	if decoder == nil {
 		return perrors.Errorf("@decoder is nil")
 	}
diff --git a/protocol/dubbo/hessian2/hessian_response.go b/protocol/dubbo/hessian2/hessian_response.go
index b95e1c2711e8922b280260035eaba1cc03f50aa4..bed8dadb1f23e999e20fed8f777fd9d310550832 100644
--- a/protocol/dubbo/hessian2/hessian_response.go
+++ b/protocol/dubbo/hessian2/hessian_response.go
@@ -18,11 +18,12 @@ package hessian2
 
 import (
 	"encoding/binary"
-	"github.com/apache/dubbo-go/common/logger"
 	"math"
 	"reflect"
 	"strconv"
 	"strings"
+
+	"github.com/apache/dubbo-go/common/logger"
 )
 
 import (
@@ -64,9 +65,7 @@ func EnsureResponse(body interface{}) *DubboResponse {
 // https://github.com/apache/dubbo/blob/dubbo-2.7.1/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/codec/ExchangeCodec.java#L256
 // hessian encode response
 func packResponse(header DubboHeader, ret interface{}) ([]byte, error) {
-	var (
-		byteArray []byte
-	)
+	var byteArray []byte
 
 	response := EnsureResponse(ret)
 
@@ -362,7 +361,7 @@ func version2Int(ver interface{}) int {
 	if !ok || len(version) == 0 {
 		return 0
 	}
-	var v = 0
+	v := 0
 	varr := strings.Split(version, ".")
 	length := len(varr)
 	for key, value := range varr {
diff --git a/protocol/dubbo/hessian2/hessian_response_test.go b/protocol/dubbo/hessian2/hessian_response_test.go
index f5c84baa90b3b31b271979cb1107503facac71d9..86c2e43a9e97d3a2259e5522f6c1992f580828c3 100644
--- a/protocol/dubbo/hessian2/hessian_response_test.go
+++ b/protocol/dubbo/hessian2/hessian_response_test.go
@@ -93,7 +93,7 @@ func TestReflectResponse(t *testing.T) {
 	var s1r []string
 	doTestReflectResponse(t, s1, &s1r)
 
-	s2 := []rr{rr{"dubbo", 666}, rr{"go", 999}}
+	s2 := []rr{{"dubbo", 666}, {"go", 999}}
 	var s2r []rr
 	doTestReflectResponse(t, s2, &s2r)
 
@@ -221,5 +221,4 @@ func TestVersion2Int(t *testing.T) {
 
 	v = version2Int("2.1.3.4.5")
 	assert.Equal(t, 201030405, v)
-
 }
diff --git a/protocol/dubbo/impl/codec.go b/protocol/dubbo/impl/codec.go
index 6c9816f0ff9a4faee7750d16468fa65b9aa803f2..d4f380426823a6578f376cbf8da91899b5bfd97f 100644
--- a/protocol/dubbo/impl/codec.go
+++ b/protocol/dubbo/impl/codec.go
@@ -238,9 +238,7 @@ func packRequest(p DubboPackage, serializer Serializer) ([]byte, error) {
 }
 
 func packResponse(p DubboPackage, serializer Serializer) ([]byte, error) {
-	var (
-		byteArray []byte
-	)
+	var byteArray []byte
 	header := p.Header
 	hb := p.IsHeartBeat()
 
diff --git a/protocol/dubbo/impl/hessian.go b/protocol/dubbo/impl/hessian.go
index 4aaf67b6f3a869686be673eec1ef76be44e2eba3..2f750c53a61e103537f50359be8e1d322cf67879 100644
--- a/protocol/dubbo/impl/hessian.go
+++ b/protocol/dubbo/impl/hessian.go
@@ -37,8 +37,7 @@ import (
 	"github.com/apache/dubbo-go/common/logger"
 )
 
-type HessianSerializer struct {
-}
+type HessianSerializer struct{}
 
 func (h HessianSerializer) Marshal(p DubboPackage) ([]byte, error) {
 	encoder := hessian.NewEncoder()
@@ -178,7 +177,7 @@ func isSupportResponseAttachment(version string) bool {
 }
 
 func version2Int(version string) int {
-	var v = 0
+	v := 0
 	varr := strings.Split(version, ".")
 	length := len(varr)
 	for key, value := range varr {
diff --git a/protocol/dubbo/opentracing.go b/protocol/dubbo/opentracing.go
index f45e6fdc71af6279c2fadadd0576cde629a535e1..bc270506f3ee918ad20b2180201a4675fcaa6d38 100644
--- a/protocol/dubbo/opentracing.go
+++ b/protocol/dubbo/opentracing.go
@@ -20,6 +20,7 @@ package dubbo
 import (
 	"github.com/opentracing/opentracing-go"
 )
+
 import (
 	invocation_impl "github.com/apache/dubbo-go/protocol/invocation"
 )
@@ -36,7 +37,7 @@ func injectTraceCtx(currentSpan opentracing.Span, inv *invocation_impl.RPCInvoca
 }
 
 func filterContext(attachments map[string]interface{}) map[string]string {
-	var traceAttchment = make(map[string]string)
+	traceAttchment := make(map[string]string)
 	for k, v := range attachments {
 		if r, ok := v.(string); ok {
 			traceAttchment[k] = r
diff --git a/protocol/grpc/client.go b/protocol/grpc/client.go
index b8a914376498e68751c8024f8279f5d772a0a54b..567996b6f5fb2b9704dc686e68ce7c452ca5f3e8 100644
--- a/protocol/grpc/client.go
+++ b/protocol/grpc/client.go
@@ -36,9 +36,7 @@ import (
 	"github.com/apache/dubbo-go/config"
 )
 
-var (
-	clientConf *ClientConfig
-)
+var clientConf *ClientConfig
 
 func init() {
 	// load clientconfig from consumer_config
@@ -80,7 +78,6 @@ func init() {
 			panic(err)
 		}
 	}
-
 }
 
 // Client is gRPC client include client connection and invoker
@@ -96,7 +93,7 @@ func NewClient(url *common.URL) (*Client, error) {
 	dialOpts := make([]grpc.DialOption, 0, 4)
 	maxMessageSize, _ := strconv.Atoi(url.GetParam(constant.MESSAGE_SIZE_KEY, "4"))
 
-	//consumer config client connectTimeout
+	// consumer config client connectTimeout
 	connectTimeout := config.GetConsumerConfig().ConnectTimeout
 
 	dialOpts = append(dialOpts, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithTimeout(connectTimeout), grpc.WithUnaryInterceptor(
@@ -107,7 +104,6 @@ func NewClient(url *common.URL) (*Client, error) {
 			grpc.MaxCallSendMsgSize(1024*1024*maxMessageSize)))
 
 	conn, err := grpc.Dial(url.Location, dialOpts...)
-
 	if err != nil {
 		logger.Errorf("grpc dail error: %v", err)
 		return nil, err
diff --git a/protocol/grpc/config.go b/protocol/grpc/config.go
index e8a9baac8999a009bab435a5bd4e70d102f77b56..d0a192042c0fcd83652a2ce083ef3dda0a190a79 100644
--- a/protocol/grpc/config.go
+++ b/protocol/grpc/config.go
@@ -23,8 +23,7 @@ import (
 
 type (
 	// ServerConfig currently is empty struct,for future expansion
-	ServerConfig struct {
-	}
+	ServerConfig struct{}
 
 	// ClientConfig wrap client call parameters
 	ClientConfig struct {
diff --git a/protocol/grpc/grpc_invoker.go b/protocol/grpc/grpc_invoker.go
index 7b33c6704db7a365bb81a1ab5bef31f220378380..79eb3ca43f378f0679cec7073d2d584537d42d8e 100644
--- a/protocol/grpc/grpc_invoker.go
+++ b/protocol/grpc/grpc_invoker.go
@@ -35,9 +35,7 @@ import (
 	"github.com/apache/dubbo-go/protocol"
 )
 
-var (
-	errNoReply = errors.New("request need @response")
-)
+var errNoReply = errors.New("request need @response")
 
 // nolint
 type GrpcInvoker struct {
@@ -72,9 +70,7 @@ func (gi *GrpcInvoker) getClient() *Client {
 
 // Invoke is used to call service method by invocation
 func (gi *GrpcInvoker) Invoke(ctx context.Context, invocation protocol.Invocation) protocol.Result {
-	var (
-		result protocol.RPCResult
-	)
+	var result protocol.RPCResult
 
 	if !gi.BaseInvoker.IsAvailable() {
 		// Generally, the case will not happen, because the invoker has been removed
diff --git a/protocol/grpc/internal/client.go b/protocol/grpc/internal/client.go
index 3ce0f570b7eb3424fa85a868931b1b3cebe362eb..83b4586c68bfe8ed0630043b4bd97fbbb9ae793d 100644
--- a/protocol/grpc/internal/client.go
+++ b/protocol/grpc/internal/client.go
@@ -34,7 +34,7 @@ func init() {
 }
 
 // GrpcGreeterImpl
-//used for dubbo-grpc biz client
+// used for dubbo-grpc biz client
 type GrpcGreeterImpl struct {
 	SayHello func(ctx context.Context, in *HelloRequest, out *HelloReply) error
 }
diff --git a/protocol/grpc/internal/helloworld.pb.go b/protocol/grpc/internal/helloworld.pb.go
index 82537f553bdd8ed74970627c217091b6a9de637b..2ea04fd5fa4c45f56a3a94fa3db53f2bb3241bcd 100644
--- a/protocol/grpc/internal/helloworld.pb.go
+++ b/protocol/grpc/internal/helloworld.pb.go
@@ -32,9 +32,11 @@ import (
 )
 
 // Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
+var (
+	_ = proto.Marshal
+	_ = fmt.Errorf
+	_ = math.Inf
+)
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the proto package it is being compiled against.
@@ -60,15 +62,19 @@ func (*HelloRequest) Descriptor() ([]byte, []int) {
 func (m *HelloRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HelloRequest.Unmarshal(m, b)
 }
+
 func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic)
 }
+
 func (m *HelloRequest) XXX_Merge(src proto.Message) {
 	xxx_messageInfo_HelloRequest.Merge(m, src)
 }
+
 func (m *HelloRequest) XXX_Size() int {
 	return xxx_messageInfo_HelloRequest.Size(m)
 }
+
 func (m *HelloRequest) XXX_DiscardUnknown() {
 	xxx_messageInfo_HelloRequest.DiscardUnknown(m)
 }
@@ -100,15 +106,19 @@ func (*HelloReply) Descriptor() ([]byte, []int) {
 func (m *HelloReply) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HelloReply.Unmarshal(m, b)
 }
+
 func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_HelloReply.Marshal(b, m, deterministic)
 }
+
 func (m *HelloReply) XXX_Merge(src proto.Message) {
 	xxx_messageInfo_HelloReply.Merge(m, src)
 }
+
 func (m *HelloReply) XXX_Size() int {
 	return xxx_messageInfo_HelloReply.Size(m)
 }
+
 func (m *HelloReply) XXX_DiscardUnknown() {
 	xxx_messageInfo_HelloReply.DiscardUnknown(m)
 }
@@ -145,8 +155,10 @@ var fileDescriptor_17b8c58d586b62f2 = []byte{
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
+var (
+	_ context.Context
+	_ grpc.ClientConn
+)
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
@@ -184,8 +196,7 @@ type GreeterServer interface {
 }
 
 // UnimplementedGreeterServer can be embedded to have forward compatible implementations.
-type UnimplementedGreeterServer struct {
-}
+type UnimplementedGreeterServer struct{}
 
 func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*HelloReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
diff --git a/protocol/grpc/internal/server.go b/protocol/grpc/internal/server.go
index f7b99fa0ba557fa002321b5d2435d17cf792dd38..6e17a4f80d3f94468c0ce99df0a19b458b8bae23 100644
--- a/protocol/grpc/internal/server.go
+++ b/protocol/grpc/internal/server.go
@@ -27,9 +27,7 @@ import (
 	"google.golang.org/grpc"
 )
 
-var (
-	s *grpc.Server
-)
+var s *grpc.Server
 
 // server is used to implement helloworld.GreeterServer.
 type server struct {
diff --git a/protocol/grpc/protoc-gen-dubbo/examples/helloworld.pb.go b/protocol/grpc/protoc-gen-dubbo/examples/helloworld.pb.go
index 702391b299402cf7f1cefbcc785fd10ea9f1634d..fe86b2bf344a171f16e4fc733ea2b42fd6010f8b 100644
--- a/protocol/grpc/protoc-gen-dubbo/examples/helloworld.pb.go
+++ b/protocol/grpc/protoc-gen-dubbo/examples/helloworld.pb.go
@@ -38,9 +38,11 @@ import (
 )
 
 // Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
+var (
+	_ = proto.Marshal
+	_ = fmt.Errorf
+	_ = math.Inf
+)
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the proto package it is being compiled against.
@@ -66,15 +68,19 @@ func (*HelloRequest) Descriptor() ([]byte, []int) {
 func (m *HelloRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HelloRequest.Unmarshal(m, b)
 }
+
 func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic)
 }
+
 func (m *HelloRequest) XXX_Merge(src proto.Message) {
 	xxx_messageInfo_HelloRequest.Merge(m, src)
 }
+
 func (m *HelloRequest) XXX_Size() int {
 	return xxx_messageInfo_HelloRequest.Size(m)
 }
+
 func (m *HelloRequest) XXX_DiscardUnknown() {
 	xxx_messageInfo_HelloRequest.DiscardUnknown(m)
 }
@@ -106,15 +112,19 @@ func (*HelloReply) Descriptor() ([]byte, []int) {
 func (m *HelloReply) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HelloReply.Unmarshal(m, b)
 }
+
 func (m *HelloReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_HelloReply.Marshal(b, m, deterministic)
 }
+
 func (m *HelloReply) XXX_Merge(src proto.Message) {
 	xxx_messageInfo_HelloReply.Merge(m, src)
 }
+
 func (m *HelloReply) XXX_Size() int {
 	return xxx_messageInfo_HelloReply.Size(m)
 }
+
 func (m *HelloReply) XXX_DiscardUnknown() {
 	xxx_messageInfo_HelloReply.DiscardUnknown(m)
 }
@@ -152,8 +162,10 @@ var fileDescriptor_17b8c58d586b62f2 = []byte{
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
+var (
+	_ context.Context
+	_ grpc.ClientConn
+)
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
@@ -191,8 +203,7 @@ type GreeterServer interface {
 }
 
 // UnimplementedGreeterServer can be embedded to have forward compatible implementations.
-type UnimplementedGreeterServer struct {
-}
+type UnimplementedGreeterServer struct{}
 
 func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*HelloReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
diff --git a/protocol/jsonrpc/http.go b/protocol/jsonrpc/http.go
index 11051df8ac05010e9e07fe14d44768dda9342201..0ad76e078edff9d981b1f1ed09182264e1e3de35 100644
--- a/protocol/jsonrpc/http.go
+++ b/protocol/jsonrpc/http.go
@@ -56,7 +56,7 @@ type Request struct {
 	service  string
 	method   string
 	args     interface{}
-	//contentType string
+	// contentType string
 }
 
 // ////////////////////////////////////////////
@@ -102,7 +102,6 @@ func NewHTTPClient(opt *HTTPOptions) *HTTPClient {
 
 // NewRequest creates a new HTTP request with @service ,@method and @arguments.
 func (c *HTTPClient) NewRequest(service *common.URL, method string, args interface{}) *Request {
-
 	return &Request{
 		ID:       atomic.AddInt64(&c.ID, 1),
 		group:    service.GetParam(constant.GROUP_KEY, ""),
diff --git a/protocol/jsonrpc/http_test.go b/protocol/jsonrpc/http_test.go
index 5ef40649b1fcb209f29d9bbe871e47b1fcda8a59..caf0d222d21817cda4662882206dc6f3253ae1cc 100644
--- a/protocol/jsonrpc/http_test.go
+++ b/protocol/jsonrpc/http_test.go
@@ -43,8 +43,7 @@ type (
 		Name string `json:"name"`
 	}
 
-	UserProvider struct {
-		//user map[string]User
+	UserProvider struct { // user map[string]User
 	}
 )
 
@@ -57,7 +56,6 @@ const (
 )
 
 func TestHTTPClientCall(t *testing.T) {
-
 	methods, err := common.ServiceMap.Register("com.ikurento.user.UserProvider", "jsonrpc", "", "", &UserProvider{})
 	assert.NoError(t, err)
 	assert.Equal(t, "GetUser,GetUser0,GetUser1,GetUser2,GetUser3,GetUser4", methods)
@@ -165,7 +163,6 @@ func TestHTTPClientCall(t *testing.T) {
 
 	// destroy
 	proto.Destroy()
-
 }
 
 func (u *UserProvider) GetUser(ctx context.Context, req []interface{}, rsp *User) error {
diff --git a/protocol/jsonrpc/json.go b/protocol/jsonrpc/json.go
index 81ca512271baa19a103b42c059ba63fd14513377..2383bf5d8b48171ae4358e7450f5e30aba6f28d1 100644
--- a/protocol/jsonrpc/json.go
+++ b/protocol/jsonrpc/json.go
@@ -231,7 +231,7 @@ func (r *serverRequest) UnmarshalJSON(raw []byte) error {
 		return perrors.New("bad request")
 	}
 
-	var o = make(map[string]*json.RawMessage)
+	o := make(map[string]*json.RawMessage)
 	if err := json.Unmarshal(raw, &o); err != nil {
 		return perrors.New("bad request")
 	}
diff --git a/protocol/jsonrpc/json_test.go b/protocol/jsonrpc/json_test.go
index a3814e9ad5e1df2c3a8d8cc4305e5787b44596ec..6d3e11bfab4456550b9cd8c672a3a4646c9bc1f9 100644
--- a/protocol/jsonrpc/json_test.go
+++ b/protocol/jsonrpc/json_test.go
@@ -54,7 +54,7 @@ func TestJsonClientCodecRead(t *testing.T) {
 	assert.NoError(t, err)
 	assert.Equal(t, "test", rsp.Test)
 
-	//error
+	// error
 	codec.pending[1] = "GetUser"
 	err = codec.Read([]byte("{\"jsonrpc\":\"2.0\",\"id\":1,\"error\":{\"code\":-32000,\"message\":\"error\"}}\n"), rsp)
 	assert.EqualError(t, err, "{\"code\":-32000,\"message\":\"error\"}")
diff --git a/protocol/jsonrpc/jsonrpc_invoker_test.go b/protocol/jsonrpc/jsonrpc_invoker_test.go
index 12a57052eba6e3a2af1b7cfb15e6ab368a7da286..c6049291fcb77d99430e4f1ab8f018f52970da42 100644
--- a/protocol/jsonrpc/jsonrpc_invoker_test.go
+++ b/protocol/jsonrpc/jsonrpc_invoker_test.go
@@ -35,7 +35,6 @@ import (
 )
 
 func TestJsonrpcInvokerInvoke(t *testing.T) {
-
 	methods, err := common.ServiceMap.Register("com.ikurento.user.UserProvider", "jsonrpc", "", "", &UserProvider{})
 	assert.NoError(t, err)
 	assert.Equal(t, "GetUser,GetUser0,GetUser1,GetUser2,GetUser3,GetUser4", methods)
diff --git a/protocol/jsonrpc/jsonrpc_protocol.go b/protocol/jsonrpc/jsonrpc_protocol.go
index 643bcde8cb41a3cb94e97b2d21df26894c574b28..313d32fc7c48de5003e18970bfcc93cbf28acace 100644
--- a/protocol/jsonrpc/jsonrpc_protocol.go
+++ b/protocol/jsonrpc/jsonrpc_protocol.go
@@ -34,7 +34,7 @@ import (
 
 const (
 	// JSONRPC
-	//module name
+	// module name
 	JSONRPC = "jsonrpc"
 )
 
@@ -76,8 +76,8 @@ func (jp *JsonrpcProtocol) Export(invoker protocol.Invoker) protocol.Exporter {
 
 // Refer a remote JSON PRC service from registry
 func (jp *JsonrpcProtocol) Refer(url *common.URL) protocol.Invoker {
-	//default requestTimeout
-	var requestTimeout = config.GetConsumerConfig().RequestTimeout
+	// default requestTimeout
+	requestTimeout := config.GetConsumerConfig().RequestTimeout
 
 	requestTimeoutStr := url.GetParam(constant.TIMEOUT_KEY, config.GetConsumerConfig().Request_Timeout)
 	if t, err := time.ParseDuration(requestTimeoutStr); err == nil {
diff --git a/protocol/jsonrpc/server.go b/protocol/jsonrpc/server.go
index 76901bff6e62748e103d8691f75aedcf68dd202a..c16f6567067a1584ac7c84dfef958f2e39b20c7f 100644
--- a/protocol/jsonrpc/server.go
+++ b/protocol/jsonrpc/server.go
@@ -43,12 +43,10 @@ import (
 	"github.com/apache/dubbo-go/protocol/invocation"
 )
 
-var (
-	// A value sent as a placeholder for the server's response value when the server
-	// receives an invalid request. It is never decoded by the client since the Response
-	// contains an error when it is used.
-	invalidRequest = struct{}{}
-)
+// A value sent as a placeholder for the server's response value when the server
+// receives an invalid request. It is never decoded by the client since the Response
+// contains an error when it is used.
+var invalidRequest = struct{}{}
 
 const (
 	// DefaultMaxSleepTime max sleep interval in accept
@@ -349,7 +347,8 @@ func serveRequest(ctx context.Context, header map[string]string, body []byte, co
 	if invoker != nil {
 		result := invoker.Invoke(ctx, invocation.NewRPCInvocation(methodName, args, map[string]interface{}{
 			constant.PATH_KEY:    path,
-			constant.VERSION_KEY: codec.req.Version}))
+			constant.VERSION_KEY: codec.req.Version,
+		}))
 		if err := result.Error(); err != nil {
 			rspStream, codecErr := codec.Write(err.Error(), invalidRequest)
 			if codecErr != nil {
diff --git a/protocol/protocol.go b/protocol/protocol.go
index d03e70f1ea4acbd1277d4b968be9109fdde187a9..19ec8ed2cd4dfec133bbca1179b63ddf9ad2dcef 100644
--- a/protocol/protocol.go
+++ b/protocol/protocol.go
@@ -137,7 +137,6 @@ func NewBaseExporter(key string, invoker Invoker, exporterMap *sync.Map) *BaseEx
 // GetInvoker gets invoker
 func (de *BaseExporter) GetInvoker() Invoker {
 	return de.invoker
-
 }
 
 // Unexport exported service.
diff --git a/protocol/protocolwrapper/protocol_filter_wrapper_test.go b/protocol/protocolwrapper/protocol_filter_wrapper_test.go
index b37d066f03c8084d2d529217567c1ede940a5491..d096784abb2452621b498a4fcdef7bcb6dcf3052 100644
--- a/protocol/protocolwrapper/protocol_filter_wrapper_test.go
+++ b/protocol/protocolwrapper/protocol_filter_wrapper_test.go
@@ -60,7 +60,7 @@ func TestProtocolFilterWrapperRefer(t *testing.T) {
 	assert.True(t, ok)
 }
 
-//the same as echo filter, for test
+// the same as echo filter, for test
 func init() {
 	extension.SetFilter("echo", GetFilter)
 }
diff --git a/protocol/rest/config/reader/rest_config_reader.go b/protocol/rest/config/reader/rest_config_reader.go
index 2338790ea9926b1ddbf44fc476f092156d8fe2fa..e545d8567ccdb8d3a32f778ee167ad035317e67a 100644
--- a/protocol/rest/config/reader/rest_config_reader.go
+++ b/protocol/rest/config/reader/rest_config_reader.go
@@ -43,8 +43,7 @@ func init() {
 	extension.SetDefaultConfigReader(REST, REST)
 }
 
-type RestConfigReader struct {
-}
+type RestConfigReader struct{}
 
 func NewRestConfigReader() interfaces.ConfigReader {
 	return &RestConfigReader{}
diff --git a/protocol/rest/rest_invoker_test.go b/protocol/rest/rest_invoker_test.go
index b6bc9806534979976d8c52cd66142a71f408fb06..5a5bd2cc2ac98b96c593934d58a975b23aacfe52 100644
--- a/protocol/rest/rest_invoker_test.go
+++ b/protocol/rest/rest_invoker_test.go
@@ -199,7 +199,7 @@ func TestRestInvokerInvoke(t *testing.T) {
 	assert.Equal(t, "username", res.Result().(*User).Name)
 	// test 3
 	inv = invocation.NewRPCInvocationWithOptions(invocation.WithMethodName("GetUserFour"),
-		invocation.WithArguments([]interface{}{[]User{User{1, nil, int32(23), "username"}}}), invocation.WithReply(user))
+		invocation.WithArguments([]interface{}{[]User{{1, nil, int32(23), "username"}}}), invocation.WithReply(user))
 	res = invoker.Invoke(context.Background(), inv)
 	assert.NoError(t, res.Error())
 	assert.NotNil(t, res.Result())
diff --git a/protocol/rest/rest_protocol.go b/protocol/rest/rest_protocol.go
index d19bd002fc4974c57f50a8595ee25debceb27921..a87eb09f066f110c1d9d9f99dc25f355bffe84b7 100644
--- a/protocol/rest/rest_protocol.go
+++ b/protocol/rest/rest_protocol.go
@@ -37,9 +37,7 @@ import (
 	_ "github.com/apache/dubbo-go/protocol/rest/server/server_impl"
 )
 
-var (
-	restProtocol *RestProtocol
-)
+var restProtocol *RestProtocol
 
 const REST = "rest"
 
@@ -88,7 +86,7 @@ func (rp *RestProtocol) Export(invoker protocol.Invoker) protocol.Exporter {
 // Refer create rest service reference
 func (rp *RestProtocol) Refer(url *common.URL) protocol.Invoker {
 	// create rest_invoker
-	var requestTimeout = config.GetConsumerConfig().RequestTimeout
+	requestTimeout := config.GetConsumerConfig().RequestTimeout
 	requestTimeoutStr := url.GetParam(constant.TIMEOUT_KEY, config.GetConsumerConfig().Request_Timeout)
 	connectTimeout := config.GetConsumerConfig().ConnectTimeout
 	if t, err := time.ParseDuration(requestTimeoutStr); err == nil {
diff --git a/protocol/rest/rest_protocol_test.go b/protocol/rest/rest_protocol_test.go
index 580fc61fd6cfda731184eed6f785b80abc9fccfe..48095648466a018fbf07bd49f1b653d776385bf8 100644
--- a/protocol/rest/rest_protocol_test.go
+++ b/protocol/rest/rest_protocol_test.go
@@ -122,8 +122,7 @@ func TestRestProtocolExport(t *testing.T) {
 	assert.False(t, ok)
 }
 
-type UserProvider struct {
-}
+type UserProvider struct{}
 
 func (p *UserProvider) Reference() string {
 	return "com.ikurento.user.UserProvider"
diff --git a/protocol/rest/server/server_impl/go_restful_server.go b/protocol/rest/server/server_impl/go_restful_server.go
index 4481f44912d8f1caf6f5250e9c13e90e99537cff..b42bb6e0e0e2278a423779772593f563e883822f 100644
--- a/protocol/rest/server/server_impl/go_restful_server.go
+++ b/protocol/rest/server/server_impl/go_restful_server.go
@@ -87,7 +87,6 @@ func (grs *GoRestfulServer) Start(url *common.URL) {
 // Publish a http api in go-restful server
 // The routeFunc should be invoked when the server receive a request
 func (grs *GoRestfulServer) Deploy(restMethodConfig *config.RestMethodConfig, routeFunc func(request server.RestServerRequest, response server.RestServerResponse)) {
-
 	rf := func(req *restful.Request, resp *restful.Response) {
 		routeFunc(NewGoRestfulRequestAdapter(req), resp)
 	}
diff --git a/protocol/rpc_status.go b/protocol/rpc_status.go
index 8fc5ddd76e84a7de87ba8a9f09aa2adfa09e434b..3994f8dd7b73bd9776919b85d34c678fa234ae92 100644
--- a/protocol/rpc_status.go
+++ b/protocol/rpc_status.go
@@ -263,7 +263,7 @@ func TryRefreshBlackList() {
 			wg.Add(1)
 			go func(ivks []Invoker, i int) {
 				defer wg.Done()
-				for j, _ := range ivks {
+				for j := range ivks {
 					if j%3-i == 0 && ivks[j].(Invoker).IsAvailable() {
 						RemoveInvokerUnhealthyStatus(ivks[i])
 					}
diff --git a/protocol/rpc_status_test.go b/protocol/rpc_status_test.go
index 6fd449ce77fada15b32cba936691b51d3c8218ed..568d5c53e5c5d4212b66c7414b790ed6461bb995 100644
--- a/protocol/rpc_status_test.go
+++ b/protocol/rpc_status_test.go
@@ -45,7 +45,6 @@ func TestBeginCount(t *testing.T) {
 	assert.Equal(t, int32(1), methodStatus.active)
 	assert.Equal(t, int32(1), urlStatus.active)
 	assert.Equal(t, int32(0), methodStatus1.active)
-
 }
 
 func TestEndCount(t *testing.T) {
@@ -139,7 +138,6 @@ func TestAll(t *testing.T) {
 	methodStatus1 := GetMethodStatus(url, "test1")
 	assert.Equal(t, int32(2), methodStatus.successiveRequestFailureCount)
 	assert.Equal(t, int32(3), methodStatus1.successiveRequestFailureCount)
-
 }
 
 func request(url *common.URL, method string, elapsed int64, active, succeeded bool) {
diff --git a/registry/base_configuration_listener.go b/registry/base_configuration_listener.go
index 31e859eec279f08f4fd286bf021414bdb297a333..67dee9d0faf6ee8aae822ed1cd5238d58749e171 100644
--- a/registry/base_configuration_listener.go
+++ b/registry/base_configuration_listener.go
@@ -48,7 +48,7 @@ func (bcl *BaseConfigurationListener) InitWith(key string, listener config_cente
 
 	bcl.dynamicConfiguration = config.GetEnvInstance().GetDynamicConfiguration()
 	if bcl.dynamicConfiguration == nil {
-		//set configurators to empty
+		// set configurators to empty
 		bcl.configurators = []config_center.Configurator{}
 		return
 	}
@@ -56,7 +56,7 @@ func (bcl *BaseConfigurationListener) InitWith(key string, listener config_cente
 	bcl.dynamicConfiguration.AddListener(key, listener)
 	if rawConfig, err := bcl.dynamicConfiguration.GetInternalProperty(key,
 		config_center.WithGroup(constant.DUBBO)); err != nil {
-		//set configurators to empty
+		// set configurators to empty
 		bcl.configurators = []config_center.Configurator{}
 		return
 	} else if len(rawConfig) > 0 {
diff --git a/registry/base_registry.go b/registry/base_registry.go
index df8c8a3250ebccb66e0ea797349d1a328dabb860..a16a998511556a54cad4b2e80cba2a5ea25db068 100644
--- a/registry/base_registry.go
+++ b/registry/base_registry.go
@@ -92,13 +92,13 @@ type FacadeBasedRegistry interface {
 
 // BaseRegistry is a common logic abstract for registry. It implement Registry interface.
 type BaseRegistry struct {
-	//context             context.Context
+	// context             context.Context
 	facadeBasedRegistry FacadeBasedRegistry
 	*common.URL
 	birth    int64          // time of file birth, seconds since Epoch; 0 if unknown
 	wg       sync.WaitGroup // wg+done for zk restart
 	done     chan struct{}
-	cltLock  sync.RWMutex           //ctl lock is a lock for services map
+	cltLock  sync.RWMutex           // ctl lock is a lock for services map
 	services map[string]*common.URL // service name + protocol -> service config, for store the service registered
 }
 
@@ -119,14 +119,14 @@ func (r *BaseRegistry) GetUrl() *common.URL {
 
 // Destroy for graceful down
 func (r *BaseRegistry) Destroy() {
-	//first step close registry's all listeners
+	// first step close registry's all listeners
 	r.facadeBasedRegistry.CloseListener()
 	// then close r.done to notify other program who listen to it
 	close(r.done)
 	// wait waitgroup done (wait listeners outside close over)
 	r.wg.Wait()
 
-	//close registry client
+	// close registry client
 	r.closeRegisters()
 }
 
@@ -209,7 +209,6 @@ func (r *BaseRegistry) service(c *common.URL) string {
 
 // RestartCallBack for reregister when reconnect
 func (r *BaseRegistry) RestartCallBack() bool {
-
 	// copy r.services
 	services := make([]*common.URL, 0, len(r.services))
 	for _, confIf := range r.services {
@@ -251,12 +250,12 @@ func (r *BaseRegistry) processURL(c *common.URL, f func(string, string) error, c
 	}
 	var (
 		err error
-		//revision   string
+		// revision   string
 		params     url.Values
 		rawURL     string
 		encodedURL string
 		dubboPath  string
-		//conf       config.URL
+		// conf       config.URL
 	)
 	params = url.Values{}
 
@@ -267,7 +266,7 @@ func (r *BaseRegistry) processURL(c *common.URL, f func(string, string) error, c
 
 	params.Add("pid", processID)
 	params.Add("ip", localIP)
-	//params.Add("timeout", fmt.Sprintf("%d", int64(r.Timeout)/1e6))
+	// params.Add("timeout", fmt.Sprintf("%d", int64(r.Timeout)/1e6))
 
 	role, _ := strconv.Atoi(r.URL.GetParam(constant.ROLE_KEY, ""))
 	switch role {
@@ -335,7 +334,7 @@ func (r *BaseRegistry) providerRegistry(c *common.URL, params url.Values, f crea
 	}
 	host += ":" + c.Port
 
-	//delete empty param key
+	// delete empty param key
 	for key, val := range params {
 		if len(val) > 0 && val[0] == "" {
 			params.Del(key)
@@ -426,7 +425,6 @@ func (r *BaseRegistry) Subscribe(url *common.URL, notifyListener NotifyListener)
 				logger.Infof("update begin, service event: %v", serviceEvent.String())
 				notifyListener.Notify(serviceEvent)
 			}
-
 		}
 		sleepWait(n)
 	}
@@ -458,7 +456,6 @@ func (r *BaseRegistry) UnSubscribe(url *common.URL, notifyListener NotifyListene
 			logger.Infof("update begin, service event: %v", serviceEvent.String())
 			notifyListener.Notify(serviceEvent)
 		}
-
 	}
 	return nil
 }
diff --git a/registry/consul/service_discovery.go b/registry/consul/service_discovery.go
index fba142e04e4979b9c4fe123cc121111838ae2d4e..da5d8d075b5b2740139162f2bcffeabeaca02ab0 100644
--- a/registry/consul/service_discovery.go
+++ b/registry/consul/service_discovery.go
@@ -50,9 +50,7 @@ const (
 	watch_passingonly_true = true
 )
 
-var (
-	errConsulClientClosed = perrors.New("consul client is closed")
-)
+var errConsulClientClosed = perrors.New("consul client is closed")
 
 // init will put the service discovery into extension
 func init() {
@@ -241,7 +239,7 @@ func (csd *consulServiceDiscovery) GetServices() *gxset.HashSet {
 		consulClient *consul.Client
 		services     map[string][]string
 	)
-	var res = gxset.NewSet()
+	res := gxset.NewSet()
 	if consulClient = csd.getConsulClient(); consulClient == nil {
 		logger.Warnf("consul client is closed!")
 		return res
@@ -256,7 +254,6 @@ func (csd *consulServiceDiscovery) GetServices() *gxset.HashSet {
 		res.Add(service)
 	}
 	return res
-
 }
 
 // encodeConsulMetadata because consul validate key strictly.
@@ -370,7 +367,6 @@ func (csd *consulServiceDiscovery) GetRequestInstances(serviceNames []string, of
 }
 
 func (csd *consulServiceDiscovery) AddListener(listener *registry.ServiceInstancesChangedListener) error {
-
 	params := make(map[string]interface{}, 8)
 	params[watch_type] = watch_type_service
 	params[watch_service] = listener.ServiceName
diff --git a/registry/consul/service_discovery_test.go b/registry/consul/service_discovery_test.go
index 3f97d841d56111746f396ba753142324ac4555d2..68e804294d7677657311b0f6a3ab7b42721688a8 100644
--- a/registry/consul/service_discovery_test.go
+++ b/registry/consul/service_discovery_test.go
@@ -90,7 +90,7 @@ func TestConsulServiceDiscovery_CRUD(t *testing.T) {
 	}()
 
 	prepareData()
-	var eventDispatcher = MockEventDispatcher{Notify: make(chan struct{}, 1)}
+	eventDispatcher := MockEventDispatcher{Notify: make(chan struct{}, 1)}
 	extension.SetEventDispatcher("mock", func() observer.EventDispatcher {
 		return &eventDispatcher
 	})
@@ -110,8 +110,8 @@ func TestConsulServiceDiscovery_CRUD(t *testing.T) {
 	err = serviceDiscovery.Register(instance)
 	assert.Nil(t, err)
 
-	//sometimes nacos may be failed to push update of instance,
-	//so it need 10s to pull, we sleep 10 second to make sure instance has been update
+	// sometimes nacos may be failed to push update of instance,
+	// so it need 10s to pull, we sleep 10 second to make sure instance has been update
 	time.Sleep(3 * time.Second)
 	page := serviceDiscovery.GetHealthyInstancesByPage(instance.GetServiceName(), 0, 10, true)
 	assert.NotNil(t, page)
@@ -146,8 +146,8 @@ func TestConsulServiceDiscovery_CRUD(t *testing.T) {
 	assert.Equal(t, "bbb", v)
 
 	// test dispatcher event
-	//err = serviceDiscovery.DispatchEventByServiceName(instanceResult.GetServiceName())
-	//assert.Nil(t, err)
+	// err = serviceDiscovery.DispatchEventByServiceName(instanceResult.GetServiceName())
+	// assert.Nil(t, err)
 
 	// test AddListener
 	err = serviceDiscovery.AddListener(&registry.ServiceInstancesChangedListener{ServiceName: instance.GetServiceName()})
diff --git a/registry/consul/utils_test.go b/registry/consul/utils_test.go
index b7e2929cec13c839a8ebaa9cb8a3000ab2cafef3..3319bebeb10dd60298e0f9c37dd470071e2257f7 100644
--- a/registry/consul/utils_test.go
+++ b/registry/consul/utils_test.go
@@ -19,13 +19,14 @@ package consul
 
 import (
 	"fmt"
-	"github.com/apache/dubbo-go/common/logger"
-	"github.com/stretchr/testify/assert"
 	"net"
 	"net/url"
 	"strconv"
 	"sync"
 	"testing"
+
+	"github.com/apache/dubbo-go/common/logger"
+	"github.com/stretchr/testify/assert"
 )
 
 import (
diff --git a/registry/directory/directory.go b/registry/directory/directory.go
index b6f932223ce8ad7577c997b798a25476185256ba..3e6fbc7c8e30c17d8c2ea44f292bdfe45f9ee1c6 100644
--- a/registry/directory/directory.go
+++ b/registry/directory/directory.go
@@ -63,8 +63,8 @@ type RegistryDirectory struct {
 	configurators                  []config_center.Configurator
 	consumerConfigurationListener  *consumerConfigurationListener
 	referenceConfigurationListener *referenceConfigurationListener
-	//serviceKey                     string
-	//forbidden                      atomic.Bool
+	// serviceKey                     string
+	// forbidden                      atomic.Bool
 	registerLock sync.Mutex // this lock if for register
 }
 
diff --git a/registry/directory/directory_test.go b/registry/directory/directory_test.go
index b5d81eb0da0b7ae635b8a54e3002a9380a69a2fd..b6ee10d35f7260d91544848b08dbfba7cef5902d 100644
--- a/registry/directory/directory_test.go
+++ b/registry/directory/directory_test.go
@@ -88,18 +88,18 @@ func TestSubscribe_Group(t *testing.T) {
 	dir, _ := NewRegistryDirectory(regurl, mockRegistry)
 
 	go dir.(*RegistryDirectory).subscribe(common.NewURLWithOptions(common.WithPath("testservice")))
-	//for group1
+	// for group1
 	urlmap := url.Values{}
 	urlmap.Set(constant.GROUP_KEY, "group1")
-	urlmap.Set(constant.CLUSTER_KEY, "failover") //to test merge url
+	urlmap.Set(constant.CLUSTER_KEY, "failover") // to test merge url
 	for i := 0; i < 3; i++ {
 		mockRegistry.(*registry.MockRegistry).MockEvent(&registry.ServiceEvent{Action: remoting.EventTypeAdd, Service: common.NewURLWithOptions(common.WithPath("TEST"+strconv.FormatInt(int64(i), 10)), common.WithProtocol("dubbo"),
 			common.WithParams(urlmap))})
 	}
-	//for group2
+	// for group2
 	urlmap2 := url.Values{}
 	urlmap2.Set(constant.GROUP_KEY, "group2")
-	urlmap2.Set(constant.CLUSTER_KEY, "failover") //to test merge url
+	urlmap2.Set(constant.CLUSTER_KEY, "failover") // to test merge url
 	for i := 0; i < 3; i++ {
 		mockRegistry.(*registry.MockRegistry).MockEvent(&registry.ServiceEvent{Action: remoting.EventTypeAdd, Service: common.NewURLWithOptions(common.WithPath("TEST"+strconv.FormatInt(int64(i), 10)), common.WithProtocol("dubbo"),
 			common.WithParams(urlmap2))})
@@ -127,7 +127,6 @@ func Test_List(t *testing.T) {
 	time.Sleep(6e9)
 	assert.Len(t, registryDirectory.List(&invocation.RPCInvocation{}), 3)
 	assert.Equal(t, true, registryDirectory.IsAvailable())
-
 }
 
 func Test_MergeProviderUrl(t *testing.T) {
@@ -142,7 +141,6 @@ func Test_MergeProviderUrl(t *testing.T) {
 	if len(registryDirectory.cacheInvokers) > 0 {
 		assert.Equal(t, "mock", registryDirectory.cacheInvokers[0].GetUrl().GetParam(constant.CLUSTER_KEY, ""))
 	}
-
 }
 
 func Test_MergeOverrideUrl(t *testing.T) {
@@ -207,11 +205,13 @@ func Test_RefreshUrl(t *testing.T) {
 	mockRegistry.MockEvent(&registry.ServiceEvent{Action: remoting.EventTypeAdd, Service: providerUrl})
 	time.Sleep(1e9)
 	assert.Len(t, registryDirectory.cacheInvokers, 4)
-	mockRegistry.MockEvents([]*registry.ServiceEvent{&registry.ServiceEvent{Action: remoting.EventTypeUpdate, Service: providerUrl}})
+	mockRegistry.MockEvents([]*registry.ServiceEvent{{Action: remoting.EventTypeUpdate, Service: providerUrl}})
 	time.Sleep(1e9)
 	assert.Len(t, registryDirectory.cacheInvokers, 1)
-	mockRegistry.MockEvents([]*registry.ServiceEvent{&registry.ServiceEvent{Action: remoting.EventTypeUpdate, Service: providerUrl},
-		&registry.ServiceEvent{Action: remoting.EventTypeUpdate, Service: providerUrl2}})
+	mockRegistry.MockEvents([]*registry.ServiceEvent{
+		{Action: remoting.EventTypeUpdate, Service: providerUrl},
+		{Action: remoting.EventTypeUpdate, Service: providerUrl2},
+	})
 	time.Sleep(1e9)
 	assert.Len(t, registryDirectory.cacheInvokers, 2)
 	// clear all address
diff --git a/registry/etcdv3/listener.go b/registry/etcdv3/listener.go
index f900495f97d3acfd9a2ae232264910b791961bc8..6d72899ac2283c2c31afaee2463091cdf8ebf72a 100644
--- a/registry/etcdv3/listener.go
+++ b/registry/etcdv3/listener.go
@@ -51,7 +51,6 @@ func (l *dataListener) AddInterestedURL(url *common.URL) {
 
 // DataChange processes the data change event from registry center of etcd
 func (l *dataListener) DataChange(eventType remoting.Event) bool {
-
 	index := strings.Index(eventType.Path, "/providers/")
 	if index == -1 {
 		logger.Warnf("Listen with no url, event.path={%v}", eventType.Path)
diff --git a/registry/etcdv3/listener_test.go b/registry/etcdv3/listener_test.go
index ff7f63f614c6c43564dc10e412a833449b3bea8a..0028938b0a0befded62d2edad783371c4d792294 100644
--- a/registry/etcdv3/listener_test.go
+++ b/registry/etcdv3/listener_test.go
@@ -44,7 +44,6 @@ const defaultEtcdV3WorkDir = "/tmp/default-dubbo-go-registry.etcd"
 
 // start etcd server
 func (suite *RegistryTestSuite) SetupSuite() {
-
 	t := suite.T()
 
 	cfg := embed.NewConfig()
@@ -75,7 +74,6 @@ func (suite *RegistryTestSuite) TearDownSuite() {
 }
 
 func (suite *RegistryTestSuite) TestDataChange() {
-
 	t := suite.T()
 
 	listener := NewRegistryDataListener(&MockDataListener{})
diff --git a/registry/etcdv3/registry.go b/registry/etcdv3/registry.go
index 7ccf32661c75ed4cd27fddd1fc020ded56066f37..46ba6b678a5695ffcc6ac735bb81c839d44b0b8a 100644
--- a/registry/etcdv3/registry.go
+++ b/registry/etcdv3/registry.go
@@ -73,7 +73,6 @@ func (r *etcdV3Registry) ClientLock() *sync.Mutex {
 }
 
 func newETCDV3Registry(url *common.URL) (registry.Registry, error) {
-
 	timeout, err := time.ParseDuration(url.GetParam(constant.REGISTRY_TIMEOUT_KEY, constant.DEFAULT_REG_TIMEOUT))
 	if err != nil {
 		logger.Errorf("timeout config %v is invalid ,err is %v",
@@ -95,7 +94,7 @@ func newETCDV3Registry(url *common.URL) (registry.Registry, error) {
 	); err != nil {
 		return nil, err
 	}
-	r.WaitGroup().Add(1) //etcdv3 client start successful, then wg +1
+	r.WaitGroup().Add(1) // etcdv3 client start successful, then wg +1
 
 	go etcdv3.HandleClientRestart(r)
 
@@ -165,7 +164,7 @@ func (r *etcdV3Registry) DoSubscribe(svc *common.URL) (registry.Listener, error)
 		r.listenerLock.Unlock()
 	}
 
-	//register the svc to dataListener
+	// register the svc to dataListener
 	r.dataListener.AddInterestedURL(svc)
 	go r.listener.ListenServiceEvent(fmt.Sprintf("/dubbo/%s/"+constant.DEFAULT_CATEGORY, svc.Service()), r.dataListener)
 
diff --git a/registry/etcdv3/registry_test.go b/registry/etcdv3/registry_test.go
index d94eff656dbc4f46e4b34c8c50b20396b335c073..dbbb7afb35b04aea8075205d9132049e9e2e91cd 100644
--- a/registry/etcdv3/registry_test.go
+++ b/registry/etcdv3/registry_test.go
@@ -33,7 +33,6 @@ import (
 )
 
 func initRegistry(t *testing.T) *etcdV3Registry {
-
 	regurl, err := common.NewURL("registry://127.0.0.1:2379", common.WithParamsValue(constant.ROLE_KEY, strconv.Itoa(common.PROVIDER)))
 	if err != nil {
 		t.Fatal(err)
@@ -51,7 +50,6 @@ func initRegistry(t *testing.T) *etcdV3Registry {
 }
 
 func (suite *RegistryTestSuite) TestRegister() {
-
 	t := suite.T()
 
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"}))
@@ -68,19 +66,18 @@ func (suite *RegistryTestSuite) TestRegister() {
 }
 
 func (suite *RegistryTestSuite) TestSubscribe() {
-
 	t := suite.T()
 	regurl, _ := common.NewURL("registry://127.0.0.1:1111", common.WithParamsValue(constant.ROLE_KEY, strconv.Itoa(common.PROVIDER)))
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"}))
 
 	reg := initRegistry(t)
-	//provider register
+	// provider register
 	err := reg.Register(url)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	//consumer register
+	// consumer register
 	regurl.SetParam(constant.ROLE_KEY, strconv.Itoa(common.CONSUMER))
 	reg2 := initRegistry(t)
 
@@ -99,7 +96,6 @@ func (suite *RegistryTestSuite) TestSubscribe() {
 }
 
 func (suite *RegistryTestSuite) TestConsumerDestroy() {
-
 	t := suite.T()
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"}))
 
@@ -109,23 +105,21 @@ func (suite *RegistryTestSuite) TestConsumerDestroy() {
 		t.Fatal(err)
 	}
 
-	//listener.Close()
+	// listener.Close()
 	time.Sleep(1e9)
 	reg.Destroy()
 
 	assert.Equal(t, false, reg.IsAvailable())
-
 }
 
 func (suite *RegistryTestSuite) TestProviderDestroy() {
-
 	t := suite.T()
 	reg := initRegistry(t)
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"}))
 	err := reg.Register(url)
 	assert.NoError(t, err)
 
-	//listener.Close()
+	// listener.Close()
 	time.Sleep(1e9)
 	reg.Destroy()
 	assert.Equal(t, false, reg.IsAvailable())
diff --git a/registry/etcdv3/service_discovery.go b/registry/etcdv3/service_discovery.go
index ca6016e49b4e174e5843b3c08beea7b559bbfb9b..c9c3d4366c4ac99c37388c43026b3cc382d367af 100644
--- a/registry/etcdv3/service_discovery.go
+++ b/registry/etcdv3/service_discovery.go
@@ -45,9 +45,7 @@ const (
 	ROOT = "/services"
 )
 
-var (
-	initLock sync.Mutex
-)
+var initLock sync.Mutex
 
 func init() {
 	extension.SetServiceDiscovery(constant.ETCDV3_KEY, newEtcdV3ServiceDiscovery)
@@ -82,7 +80,6 @@ func (e *etcdV3ServiceDiscovery) Destroy() error {
 
 // Register will register an instance of ServiceInstance to registry
 func (e *etcdV3ServiceDiscovery) Register(instance registry.ServiceInstance) error {
-
 	e.serviceInstance = &instance
 
 	path := toPath(instance)
@@ -147,7 +144,6 @@ func (e *etcdV3ServiceDiscovery) GetServices() *gxset.HashSet {
 
 // GetInstances will return all service instances with serviceName
 func (e *etcdV3ServiceDiscovery) GetInstances(serviceName string) []registry.ServiceInstance {
-
 	if nil != e.client {
 		// get keys and values
 		_, vList, err := e.client.GetChildrenKVList(toParentPath(serviceName))
@@ -171,7 +167,6 @@ func (e *etcdV3ServiceDiscovery) GetInstances(serviceName string) []registry.Ser
 // GetInstancesByPage will return a page containing instances of ServiceInstance with the serviceName
 // the page will start at offset
 func (e *etcdV3ServiceDiscovery) GetInstancesByPage(serviceName string, offset int, pageSize int) gxpage.Pager {
-
 	all := e.GetInstances(serviceName)
 
 	res := make([]interface{}, 0, pageSize)
@@ -253,7 +248,6 @@ func toParentPath(serviceName string) string {
 
 // register service watcher
 func (e *etcdV3ServiceDiscovery) registerSreviceWatcher(serviceName string) error {
-
 	initLock.Lock()
 	defer initLock.Unlock()
 
@@ -273,7 +267,6 @@ func (e *etcdV3ServiceDiscovery) registerSreviceWatcher(serviceName string) erro
 
 // when child data change should DispatchEventByServiceName
 func (e *etcdV3ServiceDiscovery) DataChange(eventType remoting.Event) bool {
-
 	if eventType.Action == remoting.EventTypeUpdate {
 		instance := &registry.DefaultServiceInstance{}
 		err := jsonutil.DecodeJSON([]byte(eventType.Content), &instance)
@@ -291,7 +284,6 @@ func (e *etcdV3ServiceDiscovery) DataChange(eventType remoting.Event) bool {
 
 // netEcdv3ServiceDiscovery
 func newEtcdV3ServiceDiscovery(name string) (registry.ServiceDiscovery, error) {
-
 	initLock.Lock()
 	defer initLock.Unlock()
 
diff --git a/registry/event/customizable_service_instance_listener.go b/registry/event/customizable_service_instance_listener.go
index 07e84c1454df91d2038beb08abddbc46274623c9..65e56e60aec178537102435e2998d7cc7e82d145 100644
--- a/registry/event/customizable_service_instance_listener.go
+++ b/registry/event/customizable_service_instance_listener.go
@@ -32,8 +32,7 @@ func init() {
 }
 
 // customizableServiceInstanceListener is singleton
-type customizableServiceInstanceListener struct {
-}
+type customizableServiceInstanceListener struct{}
 
 // GetPriority return priority 9999,
 // 9999 is big enough to make sure it will be last invoked
diff --git a/registry/event/customizable_service_instance_listener_test.go b/registry/event/customizable_service_instance_listener_test.go
index 1c81ece498b4864c3ea7f586d90052f3022627fc..b2dcd93fcc613cbc83aaca804a228f2d0d5d58e5 100644
--- a/registry/event/customizable_service_instance_listener_test.go
+++ b/registry/event/customizable_service_instance_listener_test.go
@@ -32,7 +32,6 @@ import (
 )
 
 func TestGetCustomizableServiceInstanceListener(t *testing.T) {
-
 	prepareMetadataServiceForTest()
 
 	cus := GetCustomizableServiceInstanceListener()
@@ -50,8 +49,7 @@ func TestGetCustomizableServiceInstanceListener(t *testing.T) {
 	assert.NotNil(t, tp)
 }
 
-type mockEvent struct {
-}
+type mockEvent struct{}
 
 func (m *mockEvent) String() string {
 	panic("implement me")
@@ -65,8 +63,7 @@ func (m *mockEvent) GetTimestamp() time.Time {
 	panic("implement me")
 }
 
-type mockCustomizer struct {
-}
+type mockCustomizer struct{}
 
 func (m *mockCustomizer) GetPriority() int {
 	return 0
diff --git a/registry/event/event_publishing_service_deiscovery_test.go b/registry/event/event_publishing_service_deiscovery_test.go
index 504f7b5faed374795bd534c9e97cf5b42fc94d4c..4979f1d8043675a5d98b710fad8a8eb2167831f4 100644
--- a/registry/event/event_publishing_service_deiscovery_test.go
+++ b/registry/event/event_publishing_service_deiscovery_test.go
@@ -40,7 +40,6 @@ import (
 )
 
 func TestEventPublishingServiceDiscovery_DispatchEvent(t *testing.T) {
-
 	// extension.SetMetadataService("local", inmemory.NewMetadataService)
 
 	config.GetApplicationConfig().MetadataType = "local"
@@ -69,7 +68,6 @@ func TestEventPublishingServiceDiscovery_DispatchEvent(t *testing.T) {
 	si := &registry.DefaultServiceInstance{Id: "testServiceInstance"}
 	err = dc.Register(si)
 	assert.Nil(t, err)
-
 }
 
 type TestServiceDiscoveryDestroyingEventListener struct {
@@ -113,8 +111,7 @@ func (tel *TestServiceInstancePreRegisteredEventListener) GetEventType() reflect
 	return reflect.TypeOf(ServiceInstancePreRegisteredEvent{})
 }
 
-type ServiceDiscoveryA struct {
-}
+type ServiceDiscoveryA struct{}
 
 // String return mockServiceDiscovery
 func (msd *ServiceDiscoveryA) String() string {
@@ -178,8 +175,7 @@ func (msd *ServiceDiscoveryA) DispatchEvent(event *registry.ServiceInstancesChan
 	return nil
 }
 
-type mockServiceNameMapping struct {
-}
+type mockServiceNameMapping struct{}
 
 func (m *mockServiceNameMapping) Map(serviceInterface string, group string, version string, protocol string) error {
 	return nil
diff --git a/registry/event/event_publishing_service_discovery.go b/registry/event/event_publishing_service_discovery.go
index 773eee6e83c6b3e24c293053b55b028d0e7b2e9a..6c418c13905ed94bc6f26f6814aba2a2db44bd78 100644
--- a/registry/event/event_publishing_service_discovery.go
+++ b/registry/event/event_publishing_service_discovery.go
@@ -64,7 +64,6 @@ func (epsd *EventPublishingServiceDiscovery) Register(instance registry.ServiceI
 	}
 	return epsd.executeWithEvents(NewServiceInstancePreRegisteredEvent(epsd.serviceDiscovery, instance),
 		f, NewServiceInstanceRegisteredEvent(epsd.serviceDiscovery, instance))
-
 }
 
 // Update returns the result of serviceDiscovery.Update
diff --git a/registry/event/log_event_listener.go b/registry/event/log_event_listener.go
index 0781a6d6db303ba3a1eb99b6b4c6d0743f9066b3..c73ff29ab3113fd81762d9c1d1de5e2433cc0f10 100644
--- a/registry/event/log_event_listener.go
+++ b/registry/event/log_event_listener.go
@@ -33,8 +33,7 @@ func init() {
 }
 
 // logEventListener is singleton
-type logEventListener struct {
-}
+type logEventListener struct{}
 
 func (l *logEventListener) GetPriority() int {
 	return 0
@@ -49,8 +48,10 @@ func (l *logEventListener) GetEventType() reflect.Type {
 	return reflect.TypeOf(&observer.BaseEvent{})
 }
 
-var logEventListenerInstance *logEventListener
-var logEventListenerOnce sync.Once
+var (
+	logEventListenerInstance *logEventListener
+	logEventListenerOnce     sync.Once
+)
 
 func GetLogEventListener() observer.EventListener {
 	logEventListenerOnce.Do(func() {
diff --git a/registry/event/metadata_service_url_params_customizer.go b/registry/event/metadata_service_url_params_customizer.go
index 6d8f99b327363c9a2d636079ef1f74e78d4e0184..2274cacab8a90315aff575eae077714328d1dde8 100644
--- a/registry/event/metadata_service_url_params_customizer.go
+++ b/registry/event/metadata_service_url_params_customizer.go
@@ -42,7 +42,6 @@ func init() {
 		// remove TIMESTAMP_KEY because it's nonsense
 		constant.TIMESTAMP_KEY)
 	extension.AddCustomizers(&metadataServiceURLParamsMetadataCustomizer{exceptKeys: exceptKeys})
-
 }
 
 type metadataServiceURLParamsMetadataCustomizer struct {
@@ -79,7 +78,6 @@ func (m *metadataServiceURLParamsMetadataCustomizer) Customize(instance registry
 }
 
 func (m *metadataServiceURLParamsMetadataCustomizer) convertToParams(urls []interface{}) map[string]map[string]string {
-
 	// usually there will be only one protocol
 	res := make(map[string]map[string]string, 1)
 	// those keys are useless
diff --git a/registry/event/metadata_service_url_params_customizer_test.go b/registry/event/metadata_service_url_params_customizer_test.go
index c041232b7836986db034da9c61acabc64050757e..690c95dd95f26d7e6265a6b3c394e40c7c8e23a4 100644
--- a/registry/event/metadata_service_url_params_customizer_test.go
+++ b/registry/event/metadata_service_url_params_customizer_test.go
@@ -44,7 +44,6 @@ func prepareMetadataServiceForTest() {
 }
 
 func TestMetadataServiceURLParamsMetadataCustomizer(t *testing.T) {
-
 	prepareMetadataServiceForTest()
 
 	msup := &metadataServiceURLParamsMetadataCustomizer{exceptKeys: gxset.NewSet()}
diff --git a/registry/event/protocol_ports_metadata_customizer.go b/registry/event/protocol_ports_metadata_customizer.go
index a58471c2bd5a2e1b7b4211e02f605763b2e72c9c..8f401493b0832b768a77043075b2c00826ed1d54 100644
--- a/registry/event/protocol_ports_metadata_customizer.go
+++ b/registry/event/protocol_ports_metadata_customizer.go
@@ -35,8 +35,7 @@ func init() {
 }
 
 // ProtocolPortsMetadataCustomizer will update the endpoints
-type ProtocolPortsMetadataCustomizer struct {
-}
+type ProtocolPortsMetadataCustomizer struct{}
 
 // GetPriority will return 0, which means it will be invoked at the beginning
 func (p *ProtocolPortsMetadataCustomizer) GetPriority() int {
diff --git a/registry/event/service_revision_customizer.go b/registry/event/service_revision_customizer.go
index 4793e91948fe4c30fffbfd21f0dcc3efe57c5095..5d9668c412f70fbef72b6202f062b86f6956d88e 100644
--- a/registry/event/service_revision_customizer.go
+++ b/registry/event/service_revision_customizer.go
@@ -39,8 +39,7 @@ func init() {
 	extension.AddCustomizers(&subscribedServicesRevisionMetadataCustomizer{})
 }
 
-type exportedServicesRevisionMetadataCustomizer struct {
-}
+type exportedServicesRevisionMetadataCustomizer struct{}
 
 // GetPriority will return 1 so that it will be invoked in front of user defining Customizer
 func (e *exportedServicesRevisionMetadataCustomizer) GetPriority() int {
@@ -56,7 +55,6 @@ func (e *exportedServicesRevisionMetadataCustomizer) Customize(instance registry
 	}
 
 	urls, err := ms.GetExportedURLs(constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE)
-
 	if err != nil {
 		logger.Errorf("could not find the exported url", err)
 	}
@@ -68,8 +66,7 @@ func (e *exportedServicesRevisionMetadataCustomizer) Customize(instance registry
 	instance.GetMetadata()[constant.EXPORTED_SERVICES_REVISION_PROPERTY_NAME] = revision
 }
 
-type subscribedServicesRevisionMetadataCustomizer struct {
-}
+type subscribedServicesRevisionMetadataCustomizer struct{}
 
 // GetPriority will return 2 so that it will be invoked in front of user defining Customizer
 func (e *subscribedServicesRevisionMetadataCustomizer) GetPriority() int {
@@ -85,7 +82,6 @@ func (e *subscribedServicesRevisionMetadataCustomizer) Customize(instance regist
 	}
 
 	urls, err := ms.GetSubscribedURLs()
-
 	if err != nil {
 		logger.Errorf("could not find the subscribed url", err)
 	}
diff --git a/registry/file/listener.go b/registry/file/listener.go
index 3fe7400226067f1232ed7993b1fe1b5575b870df..5d2193a9469503d41d47113fb6e50886184662cd 100644
--- a/registry/file/listener.go
+++ b/registry/file/listener.go
@@ -20,10 +20,8 @@ package file
 import "github.com/apache/dubbo-go/config_center"
 
 // RegistryConfigurationListener represent the processor of flie watcher
-type RegistryConfigurationListener struct {
-}
+type RegistryConfigurationListener struct{}
 
 // Process submit the ConfigChangeEvent to the event chan to notify all observer
 func (l *RegistryConfigurationListener) Process(configType *config_center.ConfigChangeEvent) {
-
 }
diff --git a/registry/file/service_discovery.go b/registry/file/service_discovery.go
index 768a1c2a3d8a208d637e374632da530a43465a4e..f68498d30f34cda255a9417101c0bea9fb144b4a 100644
--- a/registry/file/service_discovery.go
+++ b/registry/file/service_discovery.go
@@ -265,7 +265,7 @@ func (fssd *fileSystemServiceDiscovery) GetRequestInstances(serviceNames []strin
 // AddListener adds a new ServiceInstancesChangedListener
 // client
 func (fssd *fileSystemServiceDiscovery) AddListener(listener *registry.ServiceInstancesChangedListener) error {
-	//fssd.dynamicConfiguration.AddListener(listener.ServiceName)
+	// fssd.dynamicConfiguration.AddListener(listener.ServiceName)
 	return nil
 }
 
diff --git a/registry/file/service_discovery_test.go b/registry/file/service_discovery_test.go
index 0062eae32cc04fd58ae4398ac7a28aabc54892c1..ee2ad272274f814f7a1989c39bad8725968b7282 100644
--- a/registry/file/service_discovery_test.go
+++ b/registry/file/service_discovery_test.go
@@ -35,9 +35,7 @@ import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-var (
-	testName = "test"
-)
+var testName = "test"
 
 func TestNewFileSystemServiceDiscoveryAndDestroy(t *testing.T) {
 	prepareData()
diff --git a/registry/kubernetes/listener.go b/registry/kubernetes/listener.go
index e20b7c7e7d2f72349f7ec268bbb3b09f135dc6ed..9b8075cddf1dd9618e79296a684985ac1e64383d 100644
--- a/registry/kubernetes/listener.go
+++ b/registry/kubernetes/listener.go
@@ -51,7 +51,6 @@ func (l *dataListener) AddInterestedURL(url *common.URL) {
 // DataChange
 // notify listen, when interest event
 func (l *dataListener) DataChange(eventType remoting.Event) bool {
-
 	index := strings.Index(eventType.Path, "/providers/")
 	if index == -1 {
 		logger.Warnf("Listen with no url, event.path={%v}", eventType.Path)
diff --git a/registry/kubernetes/listener_test.go b/registry/kubernetes/listener_test.go
index ef6e8fb1fceed9aa84a0f9099b8c782ceb624910..e70c15d518915b3fe9ef48311c245791c72f931a 100644
--- a/registry/kubernetes/listener_test.go
+++ b/registry/kubernetes/listener_test.go
@@ -44,7 +44,6 @@ type MockDataListener struct{}
 func (*MockDataListener) Process(configType *config_center.ConfigChangeEvent) {}
 
 func TestDataChange(t *testing.T) {
-
 	listener := NewRegistryDataListener(&MockDataListener{})
 	url, _ := common.NewURL("jsonrpc%3A%2F%2F127.0.0.1%3A20001%2Fcom.ikurento.user.UserProvider%3Fanyhost%3Dtrue%26app.version%3D0.0.1%26application%3DBDTService%26category%3Dproviders%26cluster%3Dfailover%26dubbo%3Ddubbo-provider-golang-2.6.0%26environment%3Ddev%26group%3D%26interface%3Dcom.ikurento.user.UserProvider%26ip%3D10.32.20.124%26loadbalance%3Drandom%26methods.GetUser.loadbalance%3Drandom%26methods.GetUser.retries%3D1%26methods.GetUser.weight%3D0%26module%3Ddubbogo%2Buser-info%2Bserver%26name%3DBDTService%26organization%3Dikurento.com%26owner%3DZX%26pid%3D74500%26retries%3D0%26service.filter%3Decho%26side%3Dprovider%26timestamp%3D1560155407%26version%3D%26warmup%3D100")
 	listener.AddInterestedURL(url)
diff --git a/registry/kubernetes/registry.go b/registry/kubernetes/registry.go
index a26478f2ee5e82cc7cbeaf7996a0febb49238e91..9be6387587df58cd496c28694c80ad49b15fdeeb 100644
--- a/registry/kubernetes/registry.go
+++ b/registry/kubernetes/registry.go
@@ -46,8 +46,8 @@ const (
 )
 
 func init() {
-	//processID = fmt.Sprintf("%d", os.Getpid())
-	//localIP = common.GetLocalIp()
+	// processID = fmt.Sprintf("%d", os.Getpid())
+	// localIP = common.GetLocalIp()
 	extension.SetRegistry(Name, newKubernetesRegistry)
 }
 
@@ -84,7 +84,6 @@ func (r *kubernetesRegistry) CloseAndNilClient() {
 
 // CloseListener closes listeners
 func (r *kubernetesRegistry) CloseListener() {
-
 	r.cltLock.Lock()
 	l := r.configListener
 	r.cltLock.Unlock()
@@ -113,10 +112,7 @@ func (r *kubernetesRegistry) DoUnregister(root string, node string) error {
 
 // DoSubscribe actually subscribe the provider URL
 func (r *kubernetesRegistry) DoSubscribe(svc *common.URL) (registry.Listener, error) {
-
-	var (
-		configListener *configurationListener
-	)
+	var configListener *configurationListener
 
 	r.listenerLock.Lock()
 	configListener = r.configListener
@@ -137,7 +133,7 @@ func (r *kubernetesRegistry) DoSubscribe(svc *common.URL) (registry.Listener, er
 		r.listenerLock.Unlock()
 	}
 
-	//register the svc to dataListener
+	// register the svc to dataListener
 	r.dataListener.AddInterestedURL(svc)
 	go r.listener.ListenServiceEvent(fmt.Sprintf("/dubbo/%s/"+constant.DEFAULT_CATEGORY, svc.Service()), r.dataListener)
 
@@ -157,7 +153,6 @@ func (r *kubernetesRegistry) InitListeners() {
 }
 
 func newKubernetesRegistry(url *common.URL) (registry.Registry, error) {
-
 	// actually, kubernetes use in-cluster config,
 	r := &kubernetesRegistry{}
 
@@ -196,7 +191,6 @@ func newMockKubernetesRegistry(
 
 // HandleClientRestart will reconnect to  kubernetes registry center
 func (r *kubernetesRegistry) HandleClientRestart() {
-
 	var (
 		err       error
 		failTimes int
diff --git a/registry/kubernetes/registry_test.go b/registry/kubernetes/registry_test.go
index a816b035c593b444665d3f259b17af1d4e5d53eb..7200dd593f59b6b32b1306f6ef09ce533296d91e 100644
--- a/registry/kubernetes/registry_test.go
+++ b/registry/kubernetes/registry_test.go
@@ -202,7 +202,6 @@ var clientPodListJsonData = `{
 `
 
 func getTestRegistry(t *testing.T) *kubernetesRegistry {
-
 	const (
 		podNameKey              = "HOSTNAME"
 		nameSpaceKey            = "NAMESPACE"
@@ -240,7 +239,6 @@ func getTestRegistry(t *testing.T) *kubernetesRegistry {
 }
 
 func TestRegister(t *testing.T) {
-
 	r := getTestRegistry(t)
 	defer r.Destroy()
 
@@ -259,7 +257,6 @@ func TestRegister(t *testing.T) {
 }
 
 func TestSubscribe(t *testing.T) {
-
 	r := getTestRegistry(t)
 	defer r.Destroy()
 
@@ -276,7 +273,6 @@ func TestSubscribe(t *testing.T) {
 	wg := sync.WaitGroup{}
 	wg.Add(1)
 	go func() {
-
 		defer wg.Done()
 		registerErr := r.Register(url)
 		if registerErr != nil {
@@ -294,7 +290,6 @@ func TestSubscribe(t *testing.T) {
 }
 
 func TestConsumerDestroy(t *testing.T) {
-
 	r := getTestRegistry(t)
 
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider",
@@ -306,16 +301,14 @@ func TestConsumerDestroy(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	//listener.Close()
+	// listener.Close()
 	time.Sleep(1e9)
 	r.Destroy()
 
 	assert.Equal(t, false, r.IsAvailable())
-
 }
 
 func TestProviderDestroy(t *testing.T) {
-
 	r := getTestRegistry(t)
 
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider",
@@ -330,7 +323,6 @@ func TestProviderDestroy(t *testing.T) {
 }
 
 func TestNewRegistry(t *testing.T) {
-
 	regUrl, err := common.NewURL("registry://127.0.0.1:443",
 		common.WithParamsValue(constant.ROLE_KEY, strconv.Itoa(common.PROVIDER)))
 	if err != nil {
@@ -343,7 +335,6 @@ func TestNewRegistry(t *testing.T) {
 }
 
 func TestHandleClientRestart(t *testing.T) {
-
 	r := getTestRegistry(t)
 	r.WaitGroup().Add(1)
 	go r.HandleClientRestart()
diff --git a/registry/mock_registry.go b/registry/mock_registry.go
index 6287bb0d168f18f166618b7c6505b2f8b012be04..953f42889a7bc3c0ebf9d8bbb26ac20542bf1235 100644
--- a/registry/mock_registry.go
+++ b/registry/mock_registry.go
@@ -141,7 +141,6 @@ func (l *listener) Next() (*ServiceEvent, error) {
 }
 
 func (*listener) Close() {
-
 }
 
 // nolint
diff --git a/registry/nacos/registry.go b/registry/nacos/registry.go
index e9a4bd317ef5482ff98b4f1a9d3920d5b86aad42..4bc88d71b14001b067cd47d7143f11f041fb4633 100644
--- a/registry/nacos/registry.go
+++ b/registry/nacos/registry.go
@@ -41,9 +41,7 @@ import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-var (
-	localIP = ""
-)
+var localIP = ""
 
 const (
 	// RegistryConnDelay registry connection delay
@@ -293,7 +291,7 @@ func getNacosConfig(url *common.URL) (map[string]interface{}, error) {
 	clientConfig.Endpoint = url.GetParam(constant.NACOS_ENDPOINT, "")
 	clientConfig.NamespaceId = url.GetParam(constant.NACOS_NAMESPACE_ID, "")
 
-	//enable local cache when nacos can not connect.
+	// enable local cache when nacos can not connect.
 	notLoadCache, err := strconv.ParseBool(url.GetParam(constant.NACOS_NOT_LOAD_LOCAL_CACHE, "false"))
 	if err != nil {
 		logger.Errorf("ParseBool - error: %v", err)
diff --git a/registry/nacos/registry_test.go b/registry/nacos/registry_test.go
index b82820577144dfe98492165372a925500c20abfb..ab770fb8df3e19643deff8a59e2b971f447111d1 100644
--- a/registry/nacos/registry_test.go
+++ b/registry/nacos/registry_test.go
@@ -114,7 +114,6 @@ func TestNacosRegistry_Subscribe(t *testing.T) {
 	}
 	t.Logf("serviceEvent:%+v \n", serviceEvent)
 	assert.Regexp(t, ".*ServiceEvent{Action{add}.*", serviceEvent.String())
-
 }
 
 func TestNacosRegistry_Subscribe_del(t *testing.T) {
@@ -178,9 +177,11 @@ func TestNacosRegistry_Subscribe_del(t *testing.T) {
 	assert.Regexp(t, ".*ServiceEvent{Action{add}.*", serviceEvent2.String())
 
 	nacosReg := reg.(*nacosRegistry)
-	//deregister instance to mock instance offline
-	_, err = nacosReg.namingClient.DeregisterInstance(vo.DeregisterInstanceParam{Ip: "127.0.0.2", Port: 20000,
-		ServiceName: "providers:com.ikurento.user.UserProvider:2.0.0:guangzhou-idc"})
+	// deregister instance to mock instance offline
+	_, err = nacosReg.namingClient.DeregisterInstance(vo.DeregisterInstanceParam{
+		Ip: "127.0.0.2", Port: 20000,
+		ServiceName: "providers:com.ikurento.user.UserProvider:2.0.0:guangzhou-idc",
+	})
 	assert.NoError(t, err)
 
 	serviceEvent3, _ := listener.Next()
diff --git a/registry/nacos/service_discovery.go b/registry/nacos/service_discovery.go
index 4533e7bc6b1427f1713e8b61bf2f125c0d0bde99..785e39579ed6f9d1842d43fdb99faaf00b00052a 100644
--- a/registry/nacos/service_discovery.go
+++ b/registry/nacos/service_discovery.go
@@ -308,7 +308,6 @@ var (
 // newNacosServiceDiscovery will create new service discovery instance
 // use double-check pattern to reduce race condition
 func newNacosServiceDiscovery(name string) (registry.ServiceDiscovery, error) {
-
 	instance, ok := instanceMap[name]
 	if ok {
 		return instance, nil
diff --git a/registry/nacos/service_discovery_test.go b/registry/nacos/service_discovery_test.go
index b6902ed778a670b6d73b363545f7e7e87d31dc10..a9bc27bcfcf6883d031950c43cdef0b7cca027a2 100644
--- a/registry/nacos/service_discovery_test.go
+++ b/registry/nacos/service_discovery_test.go
@@ -37,9 +37,7 @@ import (
 	"github.com/apache/dubbo-go/registry"
 )
 
-var (
-	testName = "test"
-)
+var testName = "test"
 
 func Test_newNacosServiceDiscovery(t *testing.T) {
 	name := "nacos1"
@@ -67,7 +65,6 @@ func Test_newNacosServiceDiscovery(t *testing.T) {
 	res, err := newNacosServiceDiscovery(name)
 	assert.Nil(t, err)
 	assert.NotNil(t, res)
-
 }
 
 func TestNacosServiceDiscovery_Destroy(t *testing.T) {
@@ -121,8 +118,8 @@ func TestNacosServiceDiscovery_CRUD(t *testing.T) {
 	err = serviceDiscovery.Register(instance)
 	assert.Nil(t, err)
 
-	//sometimes nacos may be failed to push update of instance,
-	//so it need 10s to pull, we sleep 10 second to make sure instance has been update
+	// sometimes nacos may be failed to push update of instance,
+	// so it need 10s to pull, we sleep 10 second to make sure instance has been update
 	time.Sleep(11 * time.Second)
 	page := serviceDiscovery.GetHealthyInstancesByPage(serviceName, 0, 10, true)
 	assert.NotNil(t, page)
@@ -136,7 +133,7 @@ func TestNacosServiceDiscovery_CRUD(t *testing.T) {
 	assert.Equal(t, host, instance.GetHost())
 	assert.Equal(t, port, instance.GetPort())
 	// TODO: console.nacos.io has updated to nacos 2.0 and serviceName has changed in 2.0, so ignore temporarily.
-	//assert.Equal(t, serviceName, instance.GetServiceName())
+	// assert.Equal(t, serviceName, instance.GetServiceName())
 	assert.Equal(t, 0, len(instance.GetMetadata()))
 
 	instance.Metadata["a"] = "b"
diff --git a/registry/protocol/protocol.go b/registry/protocol/protocol.go
index 4fcdf93c0fa36812b69daacbbc829ddac5d2e101..3e6e62967d1cc8fd4e4e7eccd0b19d39504c65dc 100644
--- a/registry/protocol/protocol.go
+++ b/registry/protocol/protocol.go
@@ -131,8 +131,8 @@ func (proto *registryProtocol) GetRegistries() []registry.Registry {
 
 // Refer provider service from registry center
 func (proto *registryProtocol) Refer(url *common.URL) protocol.Invoker {
-	var registryUrl = url
-	var serviceUrl = registryUrl.SubURL
+	registryUrl := url
+	serviceUrl := registryUrl.SubURL
 	if registryUrl.Protocol == constant.REGISTRY_PROTOCOL {
 		registryUrl.Protocol = registryUrl.GetParam(constant.REGISTRY_KEY, "")
 	}
diff --git a/registry/protocol/protocol_test.go b/registry/protocol/protocol_test.go
index 0fca55221d54c50645bf253c52ec10725f757db3..c42590517dea9766c8a0cff0862a7ebfb5c6b035 100644
--- a/registry/protocol/protocol_test.go
+++ b/registry/protocol/protocol_test.go
@@ -138,7 +138,6 @@ func exporterNormal(t *testing.T, regProtocol *registryProtocol) *common.URL {
 }
 
 func TestExporter(t *testing.T) {
-
 	regProtocol := newRegistryProtocol()
 	exporterNormal(t, regProtocol)
 }
@@ -295,5 +294,4 @@ func TestGetProviderUrlWithHideKey(t *testing.T) {
 	assert.NotContains(t, providerUrl.GetParams(), ".c")
 	assert.NotContains(t, providerUrl.GetParams(), ".d")
 	assert.Contains(t, providerUrl.GetParams(), "a")
-
 }
diff --git a/registry/servicediscovery/instance/random/random_service_instance_selector.go b/registry/servicediscovery/instance/random/random_service_instance_selector.go
index 7e4e0eefbbe7f9ce39ee5da1e9f6a9d8ad61c737..95ca185850da94676634fc3415fed803b70ec662 100644
--- a/registry/servicediscovery/instance/random/random_service_instance_selector.go
+++ b/registry/servicediscovery/instance/random/random_service_instance_selector.go
@@ -33,9 +33,8 @@ func init() {
 	extension.SetServiceInstanceSelector("random", NewRandomServiceInstanceSelector)
 }
 
-//the ServiceInstanceSelector implementation based on Random algorithm
-type RandomServiceInstanceSelector struct {
-}
+// the ServiceInstanceSelector implementation based on Random algorithm
+type RandomServiceInstanceSelector struct{}
 
 func NewRandomServiceInstanceSelector() instance.ServiceInstanceSelector {
 	return &RandomServiceInstanceSelector{}
@@ -51,5 +50,4 @@ func (r *RandomServiceInstanceSelector) Select(url *common.URL, serviceInstances
 	rand.Seed(time.Now().UnixNano())
 	index := rand.Intn(len(serviceInstances))
 	return serviceInstances[index]
-
 }
diff --git a/registry/servicediscovery/instance/service_instance_selector.go b/registry/servicediscovery/instance/service_instance_selector.go
index 5690ab6c9013d82b1a6ee87797dd7e424e5c07b6..a5ad3db41cf898de61fa3aa8bb2f62b8560be2e0 100644
--- a/registry/servicediscovery/instance/service_instance_selector.go
+++ b/registry/servicediscovery/instance/service_instance_selector.go
@@ -23,6 +23,6 @@ import (
 )
 
 type ServiceInstanceSelector interface {
-	//Select an instance of ServiceInstance by the specified ServiceInstance service instances
+	// Select an instance of ServiceInstance by the specified ServiceInstance service instances
 	Select(url *common.URL, serviceInstances []registry.ServiceInstance) registry.ServiceInstance
 }
diff --git a/registry/servicediscovery/service_discovery_registry.go b/registry/servicediscovery/service_discovery_registry.go
index c97a7f7b51d2344f1a3fc0c59582e089f1e63b62..e3f2af3cc1e1113410970a8c60dc9c6dc6e90a24 100644
--- a/registry/servicediscovery/service_discovery_registry.go
+++ b/registry/servicediscovery/service_discovery_registry.go
@@ -73,7 +73,6 @@ type serviceDiscoveryRegistry struct {
 }
 
 func newServiceDiscoveryRegistry(url *common.URL) (registry.Registry, error) {
-
 	tryInitMetadataService(url)
 
 	serviceDiscovery, err := creatServiceDiscovery(url)
@@ -131,7 +130,7 @@ func parseServices(literalServices string) *gxset.HashSet {
 	if len(literalServices) == 0 {
 		return set
 	}
-	var splitServices = strings.Split(literalServices, ",")
+	splitServices := strings.Split(literalServices, ",")
 	for _, s := range splitServices {
 		if len(s) != 0 {
 			set.Add(s)
@@ -165,7 +164,6 @@ func (s *serviceDiscoveryRegistry) Register(url *common.URL) error {
 		return nil
 	}
 	ok, err := s.metaDataService.ExportURL(url)
-
 	if err != nil {
 		logger.Errorf("The URL[%s] registry catch error:%s!", url.String(), err.Error())
 		return err
@@ -226,7 +224,6 @@ func (s *serviceDiscoveryRegistry) registerServiceInstancesChangedListener(url *
 			logger.Errorf("add listener[%s] catch error,url:%s err:%s", listenerId, url.String(), err.Error())
 		}
 	}
-
 }
 
 func getUrlKey(url *common.URL) string {
@@ -274,7 +271,6 @@ func (s *serviceDiscoveryRegistry) subscribe(url *common.URL, notify registry.No
 			Service: url,
 		})
 	}
-
 }
 
 func (s *serviceDiscoveryRegistry) synthesizeSubscribedURLs(subscribedURL *common.URL, serviceInstances []registry.ServiceInstance) []*common.URL {
@@ -363,7 +359,6 @@ func (s *serviceDiscoveryRegistry) getExportedUrlsByInst(serviceInstance registr
 	for _, ui := range result {
 
 		u, err := common.NewURL(ui.(string))
-
 		if err != nil {
 			logger.Errorf("could not parse the url string to URL structure: %s", ui.(string), err)
 			continue
@@ -522,7 +517,6 @@ func (s *serviceDiscoveryRegistry) cloneExportedURLs(url *common.URL, serviceIns
 		}
 	}
 	return clonedExportedURLs
-
 }
 
 type endpoint struct {
@@ -549,6 +543,7 @@ func getProtocolPort(serviceInstance registry.ServiceInstance, protocol string)
 	}
 	return -1
 }
+
 func (s *serviceDiscoveryRegistry) getTemplateExportedURLs(url *common.URL, serviceInstance registry.ServiceInstance) []*common.URL {
 	exportedURLs := s.getRevisionExportedURLs(serviceInstance)
 	if len(exportedURLs) == 0 {
@@ -607,21 +602,17 @@ type InstanceChangeNotify struct {
 }
 
 func (icn *InstanceChangeNotify) Notify(event observer.Event) {
-
 	if se, ok := event.(*registry.ServiceInstancesChangedEvent); ok {
 		sdr := icn.serviceDiscoveryRegistry
 		sdr.subscribe(sdr.url.SubURL, icn.notify, se.ServiceName, se.Instances)
 	}
 }
 
-var (
-	exporting = &atomic.Bool{}
-)
+var exporting = &atomic.Bool{}
 
 // tryInitMetadataService will try to initialize metadata service
 // TODO (move to somewhere)
 func tryInitMetadataService(url *common.URL) {
-
 	ms, err := extension.GetMetadataService(config.GetApplicationConfig().MetadataType)
 	if err != nil {
 		logger.Errorf("could not init metadata service", err)
diff --git a/registry/servicediscovery/service_discovery_registry_test.go b/registry/servicediscovery/service_discovery_registry_test.go
index 391d92c8ad19c871756ca7426531bb01a7d54876..6e1f22899895eb9485c61395965d90b61fc34b61 100644
--- a/registry/servicediscovery/service_discovery_registry_test.go
+++ b/registry/servicediscovery/service_discovery_registry_test.go
@@ -26,6 +26,7 @@ import (
 	"github.com/dubbogo/gost/hash/page"
 	"github.com/stretchr/testify/assert"
 )
+
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/extension"
@@ -83,8 +84,7 @@ func TestServiceDiscoveryRegistry_Register(t *testing.T) {
 	assert.NoError(t, err)
 }
 
-type mockEventDispatcher struct {
-}
+type mockEventDispatcher struct{}
 
 func (m *mockEventDispatcher) AddEventListener(observer.EventListener) {
 }
@@ -111,8 +111,7 @@ func (m *mockEventDispatcher) RemoveAllEventListeners() {
 func (m *mockEventDispatcher) Dispatch(observer.Event) {
 }
 
-type mockServiceNameMapping struct {
-}
+type mockServiceNameMapping struct{}
 
 func (m *mockServiceNameMapping) Map(string, string, string, string) error {
 	return nil
@@ -122,8 +121,7 @@ func (m *mockServiceNameMapping) Get(string, string, string, string) (*gxset.Has
 	panic("implement me")
 }
 
-type mockServiceDiscovery struct {
-}
+type mockServiceDiscovery struct{}
 
 func (m *mockServiceDiscovery) String() string {
 	panic("implement me")
@@ -185,8 +183,7 @@ func (m *mockServiceDiscovery) DispatchEvent(*registry.ServiceInstancesChangedEv
 	panic("implement me")
 }
 
-type mockMetadataService struct {
-}
+type mockMetadataService struct{}
 
 func (m *mockMetadataService) Reference() string {
 	panic("implement me")
diff --git a/registry/servicediscovery/synthesizer/rest/rest_subscribed_urls_synthesizer.go b/registry/servicediscovery/synthesizer/rest/rest_subscribed_urls_synthesizer.go
index c6b3aeaad09ebfa01d832a92478b7638a6cff432..a002aadc226f4f37e8721d08ff3c306ee10f21a5 100644
--- a/registry/servicediscovery/synthesizer/rest/rest_subscribed_urls_synthesizer.go
+++ b/registry/servicediscovery/synthesizer/rest/rest_subscribed_urls_synthesizer.go
@@ -33,9 +33,8 @@ func init() {
 	synthesizer.AddSynthesizer(NewRestSubscribedURLsSynthesizer())
 }
 
-//SubscribedURLsSynthesizer implementation for rest protocol
-type RestSubscribedURLsSynthesizer struct {
-}
+// SubscribedURLsSynthesizer implementation for rest protocol
+type RestSubscribedURLsSynthesizer struct{}
 
 func (r RestSubscribedURLsSynthesizer) Support(subscribedURL *common.URL) bool {
 	return "rest" == subscribedURL.Protocol
diff --git a/registry/zookeeper/listener.go b/registry/zookeeper/listener.go
index 5a7d14b28a1790cc040d2b51ff0eabad6e44844e..d8e7629531633246d53cbde91e0ca8be920dd04b 100644
--- a/registry/zookeeper/listener.go
+++ b/registry/zookeeper/listener.go
@@ -18,9 +18,10 @@
 package zookeeper
 
 import (
-	gxzookeeper "github.com/dubbogo/gost/database/kv/zk"
 	"strings"
 	"sync"
+
+	gxzookeeper "github.com/dubbogo/gost/database/kv/zk"
 )
 
 import (
@@ -45,7 +46,8 @@ type RegistryDataListener struct {
 // NewRegistryDataListener constructs a new RegistryDataListener
 func NewRegistryDataListener() *RegistryDataListener {
 	return &RegistryDataListener{
-		subscribed: make(map[string]config_center.ConfigurationListener)}
+		subscribed: make(map[string]config_center.ConfigurationListener),
+	}
 }
 
 // SubscribeURL is used to set a watch listener for url
@@ -131,7 +133,8 @@ func NewRegistryConfigurationListener(client *gxzookeeper.ZookeeperClient, reg *
 		events:       make(chan *config_center.ConfigChangeEvent, 32),
 		isClosed:     false,
 		close:        make(chan struct{}, 1),
-		subscribeURL: conf}
+		subscribeURL: conf,
+	}
 }
 
 // Process submit the ConfigChangeEvent to the event chan to notify all observer
diff --git a/registry/zookeeper/listener_test.go b/registry/zookeeper/listener_test.go
index 20ec1cf69a65601e5dd8351083ce23edfb67d10c..c41c831c819a864a0d754392005ac4a1f7dd3e6f 100644
--- a/registry/zookeeper/listener_test.go
+++ b/registry/zookeeper/listener_test.go
@@ -39,8 +39,7 @@ func Test_DataChange(t *testing.T) {
 	assert.Equal(t, true, int)
 }
 
-type MockConfigurationListener struct {
-}
+type MockConfigurationListener struct{}
 
 func (*MockConfigurationListener) Process(configType *config_center.ConfigChangeEvent) {
 }
diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go
index 8b21aaed73c2fcd72d287ee38096a4466d629c41..bef0ae5bb26516ae7368816569720786183a3875 100644
--- a/registry/zookeeper/registry.go
+++ b/registry/zookeeper/registry.go
@@ -60,7 +60,7 @@ type zkRegistry struct {
 	listener     *zookeeper.ZkEventListener
 	dataListener *RegistryDataListener
 	cltLock      sync.Mutex
-	//for provider
+	// for provider
 	zkPath map[string]int // key = protocol://ip:port/interface
 }
 
@@ -101,7 +101,7 @@ func newMockZkRegistry(url *common.URL, opts ...gxzookeeper.Option) (*zk.TestClu
 		err error
 		r   *zkRegistry
 		c   *zk.TestCluster
-		//event <-chan zk.Event
+		// event <-chan zk.Event
 	)
 
 	r = &zkRegistry{
@@ -112,7 +112,7 @@ func newMockZkRegistry(url *common.URL, opts ...gxzookeeper.Option) (*zk.TestClu
 	if err != nil {
 		return nil, nil, err
 	}
-	r.WaitGroup().Add(1) //zk client start successful, then wg +1
+	r.WaitGroup().Add(1) // zk client start successful, then wg +1
 	go zookeeper.HandleClientRestart(r)
 	r.InitListeners()
 	return c, r, nil
@@ -243,7 +243,6 @@ func (r *zkRegistry) registerTempZookeeperNode(root string, node string) error {
 }
 
 func (r *zkRegistry) getListener(conf *common.URL) (*RegistryConfigurationListener, error) {
-
 	var zkListener *RegistryConfigurationListener
 	dataListener := r.dataListener
 	ttl := r.GetParam(constant.REGISTRY_TTL_KEY, constant.DEFAULT_REG_TTL)
@@ -280,7 +279,7 @@ func (r *zkRegistry) getListener(conf *common.URL) (*RegistryConfigurationListen
 		r.listenerLock.Unlock()
 	}
 
-	//Interested register to dataconfig.
+	// Interested register to dataconfig.
 	r.dataListener.SubscribeURL(conf, zkListener)
 
 	go r.listener.ListenServiceEvent(conf, fmt.Sprintf("/dubbo/%s/"+constant.DEFAULT_CATEGORY, url.QueryEscape(conf.Service())), r.dataListener)
@@ -289,7 +288,6 @@ func (r *zkRegistry) getListener(conf *common.URL) (*RegistryConfigurationListen
 }
 
 func (r *zkRegistry) getCloseListener(conf *common.URL) (*RegistryConfigurationListener, error) {
-
 	var zkListener *RegistryConfigurationListener
 	r.dataListener.mutex.Lock()
 	configurationListener := r.dataListener.subscribed[conf.ServiceKey()]
@@ -308,7 +306,7 @@ func (r *zkRegistry) getCloseListener(conf *common.URL) (*RegistryConfigurationL
 		return nil, perrors.New("listener is null can not close.")
 	}
 
-	//Interested register to dataconfig.
+	// Interested register to dataconfig.
 	r.listenerLock.Lock()
 	listener := r.listener
 	r.listener = nil
diff --git a/registry/zookeeper/registry_test.go b/registry/zookeeper/registry_test.go
index 9e52dd70c3ba17cbfbc075ac75ef7b07e0901525..172ffec1e5bacc79b3e8ef4148228818c509da9f 100644
--- a/registry/zookeeper/registry_test.go
+++ b/registry/zookeeper/registry_test.go
@@ -81,7 +81,7 @@ func Test_Subscribe(t *testing.T) {
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"}))
 	ts, reg, _ := newMockZkRegistry(regURL)
 
-	//provider register
+	// provider register
 	err := reg.Register(url)
 	assert.NoError(t, err)
 
@@ -89,7 +89,7 @@ func Test_Subscribe(t *testing.T) {
 		return
 	}
 
-	//consumer register
+	// consumer register
 	regURL.SetParam(constant.ROLE_KEY, strconv.Itoa(common.CONSUMER))
 	_, reg2, _ := newMockZkRegistry(regURL, gxzookeeper.WithTestCluster(ts))
 
@@ -113,7 +113,7 @@ func Test_UnSubscribe(t *testing.T) {
 	url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"}))
 	ts, reg, _ := newMockZkRegistry(regURL)
 
-	//provider register
+	// provider register
 	err := reg.Register(url)
 	assert.NoError(t, err)
 
@@ -121,7 +121,7 @@ func Test_UnSubscribe(t *testing.T) {
 		return
 	}
 
-	//consumer register
+	// consumer register
 	regURL.SetParam(constant.ROLE_KEY, strconv.Itoa(common.CONSUMER))
 	_, reg2, _ := newMockZkRegistry(regURL, gxzookeeper.WithTestCluster(ts))
 
@@ -159,7 +159,7 @@ func Test_ConsumerDestroy(t *testing.T) {
 	_, err = reg.DoSubscribe(url)
 	assert.NoError(t, err)
 
-	//listener.Close()
+	// listener.Close()
 	time.Sleep(1e9)
 	reg.Destroy()
 	assert.Equal(t, false, reg.IsAvailable())
@@ -178,7 +178,7 @@ func Test_ProviderDestroy(t *testing.T) {
 	err = reg.Register(url)
 	assert.Nil(t, err)
 
-	//listener.Close()
+	// listener.Close()
 	time.Sleep(1e9)
 	reg.Destroy()
 	assert.Equal(t, false, reg.IsAvailable())
diff --git a/registry/zookeeper/service_discovery.go b/registry/zookeeper/service_discovery.go
index 06fe0f7f24437fbd4b7e0568c4d88c9b4e7cbe31..67c89a0d102fe314b9d3222baac9ea5339e88352 100644
--- a/registry/zookeeper/service_discovery.go
+++ b/registry/zookeeper/service_discovery.go
@@ -63,7 +63,7 @@ func init() {
 type zookeeperServiceDiscovery struct {
 	client *gxzookeeper.ZookeeperClient
 	csd    *curator_discovery.ServiceDiscovery
-	//listener    *zookeeper.ZkEventListener
+	// listener    *zookeeper.ZkEventListener
 	url         *common.URL
 	wg          sync.WaitGroup
 	cltLock     sync.Mutex
@@ -112,7 +112,7 @@ func newZookeeperServiceDiscovery(name string) (registry.ServiceDiscovery, error
 	if err != nil {
 		return nil, err
 	}
-	zksd.WaitGroup().Add(1) //zk client start successful, then wg +1
+	zksd.WaitGroup().Add(1) // zk client start successful, then wg +1
 	go zookeeper.HandleClientRestart(zksd)
 	zksd.csd = curator_discovery.NewServiceDiscovery(zksd.client, rootPath)
 	return zksd, nil
diff --git a/remoting/codec.go b/remoting/codec.go
index 607d1643cc1967e93bf5288d8d4c0788c73a735e..30e630971d303bc630f51411df953ce50819d815 100644
--- a/remoting/codec.go
+++ b/remoting/codec.go
@@ -32,9 +32,7 @@ type DecodeResult struct {
 	Result    interface{}
 }
 
-var (
-	codec = make(map[string]Codec, 2)
-)
+var codec = make(map[string]Codec, 2)
 
 func RegistryCodec(protocol string, codecTmp Codec) {
 	codec[protocol] = codecTmp
diff --git a/remoting/etcdv3/client_test.go b/remoting/etcdv3/client_test.go
index 787c24d45fba17584dbdd4cb6485cf31ad0e5d2c..4f4fa21dad085dc1f82fb4157cd1209fedb16cde 100644
--- a/remoting/etcdv3/client_test.go
+++ b/remoting/etcdv3/client_test.go
@@ -84,7 +84,6 @@ type ClientTestSuite struct {
 
 // start etcd server
 func (suite *ClientTestSuite) SetupSuite() {
-
 	t := suite.T()
 
 	DefaultListenPeerURLs := "http://localhost:2382"
@@ -138,7 +137,6 @@ func (suite *ClientTestSuite) SetupTest() {
 }
 
 func (suite *ClientTestSuite) TestClientClose() {
-
 	c := suite.client
 	t := suite.T()
 
@@ -149,7 +147,6 @@ func (suite *ClientTestSuite) TestClientClose() {
 }
 
 func (suite *ClientTestSuite) TestClientValid() {
-
 	c := suite.client
 	t := suite.T()
 
@@ -163,7 +160,6 @@ func (suite *ClientTestSuite) TestClientValid() {
 }
 
 func (suite *ClientTestSuite) TestClientDone() {
-
 	c := suite.client
 
 	go func() {
@@ -179,7 +175,6 @@ func (suite *ClientTestSuite) TestClientDone() {
 }
 
 func (suite *ClientTestSuite) TestClientCreateKV() {
-
 	tests := tests
 
 	c := suite.client
@@ -210,7 +205,6 @@ func (suite *ClientTestSuite) TestClientCreateKV() {
 }
 
 func (suite *ClientTestSuite) TestClientDeleteKV() {
-
 	tests := tests
 	c := suite.client
 	t := suite.T()
@@ -240,11 +234,9 @@ func (suite *ClientTestSuite) TestClientDeleteKV() {
 			t.Fatal(err)
 		}
 	}
-
 }
 
 func (suite *ClientTestSuite) TestClientGetChildrenKVList() {
-
 	tests := tests
 
 	c := suite.client
@@ -278,11 +270,9 @@ func (suite *ClientTestSuite) TestClientGetChildrenKVList() {
 	}
 
 	t.Fatalf("expect keylist %v but got %v expect valueList %v but got %v ", expectKList, kList, expectVList, vList)
-
 }
 
 func (suite *ClientTestSuite) TestClientWatch() {
-
 	tests := tests
 
 	c := suite.client
@@ -292,7 +282,6 @@ func (suite *ClientTestSuite) TestClientWatch() {
 	wg.Add(1)
 
 	go func() {
-
 		defer wg.Done()
 
 		wc, err := c.watch(prefix)
@@ -304,7 +293,6 @@ func (suite *ClientTestSuite) TestClientWatch() {
 		var eCreate, eDelete mvccpb.Event
 
 		for e := range wc {
-
 			for _, event := range e.Events {
 				events = append(events, (mvccpb.Event)(*event))
 				if event.Type == mvccpb.PUT {
@@ -339,11 +327,9 @@ func (suite *ClientTestSuite) TestClientWatch() {
 	c.Close()
 
 	wg.Wait()
-
 }
 
 func (suite *ClientTestSuite) TestClientRegisterTemp() {
-
 	c := suite.client
 	observeC := suite.setUpClient()
 	t := suite.T()
@@ -364,7 +350,6 @@ func (suite *ClientTestSuite) TestClientRegisterTemp() {
 		var eCreate, eDelete mvccpb.Event
 
 		for e := range wc {
-
 			for _, event := range e.Events {
 				events = append(events, (mvccpb.Event)(*event))
 				if event.Type == mvccpb.DELETE {
diff --git a/remoting/etcdv3/facade.go b/remoting/etcdv3/facade.go
index 614ba9ae3a1407daea2d9d534a0474a28ad8cac9..7a176911514146a829e3fa0b6547d8bf1af7b031 100644
--- a/remoting/etcdv3/facade.go
+++ b/remoting/etcdv3/facade.go
@@ -37,15 +37,14 @@ type clientFacade interface {
 	Client() *Client
 	SetClient(*Client)
 	ClientLock() *sync.Mutex
-	WaitGroup() *sync.WaitGroup //for wait group control, etcd client listener & etcd client container
-	Done() chan struct{}        //for etcd client control
+	WaitGroup() *sync.WaitGroup // for wait group control, etcd client listener & etcd client container
+	Done() chan struct{}        // for etcd client control
 	RestartCallBack() bool
 	common.Node
 }
 
 // HandleClientRestart keeps the connection between client and server
 func HandleClientRestart(r clientFacade) {
-
 	var (
 		err       error
 		failTimes int
diff --git a/remoting/etcdv3/listener.go b/remoting/etcdv3/listener.go
index fd6f9585979fabeb86d7a74d5817b6992b6a0ad4..23ee727737e5182cf0481150f38b58122036f877 100644
--- a/remoting/etcdv3/listener.go
+++ b/remoting/etcdv3/listener.go
@@ -97,7 +97,6 @@ func (l *EventListener) ListenServiceNodeEvent(key string, listener ...remoting.
 // return true means the event type is DELETE
 // return false means the event type is CREATE || UPDATE
 func (l *EventListener) handleEvents(event *clientv3.Event, listeners ...remoting.DataListener) bool {
-
 	logger.Infof("got a etcd event {type: %s, key: %s}", event.Type, event.Kv.Key)
 
 	switch event.Type {
@@ -180,7 +179,6 @@ func timeSecondDuration(sec int) time.Duration {
 //                            |
 //                            --------> listenServiceNodeEvent
 func (l *EventListener) ListenServiceEvent(key string, listener remoting.DataListener) {
-
 	l.keyMapLock.RLock()
 	_, ok := l.keyMap[key]
 	l.keyMapLock.RUnlock()
diff --git a/remoting/etcdv3/listener_test.go b/remoting/etcdv3/listener_test.go
index 7da85819730eaeb1c6931b0e13de26e2e171bec2..cfd8bffd0ae80f0001a691d1663165c5464a32c8 100644
--- a/remoting/etcdv3/listener_test.go
+++ b/remoting/etcdv3/listener_test.go
@@ -52,8 +52,7 @@ var changedData = `
 `
 
 func (suite *ClientTestSuite) TestListener() {
-
-	var tests = []struct {
+	tests := []struct {
 		input struct {
 			k string
 			v string
diff --git a/remoting/exchange.go b/remoting/exchange.go
index ad136a7c5ea4946e8467c69cfbf43b275df8ceef..07dc5496f7074dfbe3977557bfe044d82b4e0b53 100644
--- a/remoting/exchange.go
+++ b/remoting/exchange.go
@@ -119,7 +119,7 @@ type Options struct {
 	ConnectTimeout time.Duration
 }
 
-//AsyncCallbackResponse async response for dubbo
+// AsyncCallbackResponse async response for dubbo
 type AsyncCallbackResponse struct {
 	common.CallbackResponse
 	Opts      Options
diff --git a/remoting/exchange_client.go b/remoting/exchange_client.go
index f84cef1fa819bea244c4c526d6506acbcc726c74..4770285ea5d2ca84e685afbcf3279e2315432479 100644
--- a/remoting/exchange_client.go
+++ b/remoting/exchange_client.go
@@ -81,14 +81,14 @@ func (cl *ExchangeClient) doInit(url *common.URL) error {
 		return nil
 	}
 	if cl.client.Connect(url) != nil {
-		//retry for a while
+		// retry for a while
 		time.Sleep(100 * time.Millisecond)
 		if cl.client.Connect(url) != nil {
 			logger.Errorf("Failed to connect server %+v " + url.Location)
 			return errors.New("Failed to connect server " + url.Location)
 		}
 	}
-	//FIXME atomic operation
+	// FIXME atomic operation
 	cl.init = true
 	return nil
 }
diff --git a/remoting/exchange_server.go b/remoting/exchange_server.go
index a8d7c73f305a42e0402861817e5dbe2abfcfdd01..41abe216c22d35a212d319120191e5202c5f5510 100644
--- a/remoting/exchange_server.go
+++ b/remoting/exchange_server.go
@@ -23,9 +23,9 @@ import (
 // It is interface of server for network communication.
 // If you use getty as network communication, you should define GettyServer that implements this interface.
 type Server interface {
-	//invoke once for connection
+	// invoke once for connection
 	Start()
-	//it is for destroy
+	// it is for destroy
 	Stop()
 }
 
diff --git a/remoting/getty/config.go b/remoting/getty/config.go
index b6aa08206a1497b2bac5904eef7b86bde11a61ac..725aa942ba0356fdcc90840e8901ee0a29079634 100644
--- a/remoting/getty/config.go
+++ b/remoting/getty/config.go
@@ -134,7 +134,8 @@ func GetDefaultClientConfig() ClientConfig {
 			WaitTimeout:      "1s",
 			MaxMsgLen:        102400,
 			SessionName:      "client",
-		}}
+		},
+	}
 }
 
 // GetDefaultServerConfig gets server default configuration
diff --git a/remoting/getty/dubbo_codec_for_test.go b/remoting/getty/dubbo_codec_for_test.go
index 9afc18a9aaf477588a2fbf051096494b6f887fa2..d227eca3aeaf07e793bd6b9ddcb99f02bbf9a501 100644
--- a/remoting/getty/dubbo_codec_for_test.go
+++ b/remoting/getty/dubbo_codec_for_test.go
@@ -42,8 +42,7 @@ func init() {
 	remoting.RegistryCodec("dubbo", codec)
 }
 
-type DubboTestCodec struct {
-}
+type DubboTestCodec struct{}
 
 // encode request for transport
 func (c *DubboTestCodec) EncodeRequest(request *remoting.Request) (*bytes.Buffer, error) {
@@ -123,7 +122,7 @@ func (c *DubboTestCodec) encodeHeartbeartReqeust(request *remoting.Request) (*by
 
 // encode response
 func (c *DubboTestCodec) EncodeResponse(response *remoting.Response) (*bytes.Buffer, error) {
-	var ptype = impl.PackageResponse
+	ptype := impl.PackageResponse
 	if response.IsHeartbeat() {
 		ptype = impl.PackageHeartbeat
 	}
@@ -184,7 +183,7 @@ func (c *DubboTestCodec) decodeRequest(data []byte) (*remoting.Request, int, err
 	if err != nil {
 		originErr := perrors.Cause(err)
 		if originErr == hessian.ErrHeaderNotEnough || originErr == hessian.ErrBodyNotEnough {
-			//FIXME
+			// FIXME
 			return nil, 0, originErr
 		}
 		return request, 0, perrors.WithStack(err)
@@ -199,19 +198,19 @@ func (c *DubboTestCodec) decodeRequest(data []byte) (*remoting.Request, int, err
 		// convert params of request
 		req := pkg.Body.(map[string]interface{})
 
-		//invocation := request.Data.(*invocation.RPCInvocation)
+		// invocation := request.Data.(*invocation.RPCInvocation)
 		var methodName string
 		var args []interface{}
 		attachments := make(map[string]interface{})
 		if req[impl.DubboVersionKey] != nil {
-			//dubbo version
+			// dubbo version
 			request.Version = req[impl.DubboVersionKey].(string)
 		}
-		//path
+		// path
 		attachments[constant.PATH_KEY] = pkg.Service.Path
-		//version
+		// version
 		attachments[constant.VERSION_KEY] = pkg.Service.Version
-		//method
+		// method
 		methodName = pkg.Service.Method
 		args = req[impl.ArgsKey].([]interface{})
 		attachments = req[impl.AttachmentsKey].(map[string]interface{})
@@ -238,7 +237,7 @@ func (c *DubboTestCodec) decodeResponse(data []byte) (*remoting.Response, int, e
 	}
 	response := &remoting.Response{
 		ID: pkg.Header.ID,
-		//Version:  pkg.Header.,
+		// Version:  pkg.Header.,
 		SerialID: pkg.Header.SerialID,
 		Status:   pkg.Header.ResponseStatus,
 		Event:    (pkg.Header.Type & impl.PackageHeartbeat) != 0,
@@ -251,7 +250,7 @@ func (c *DubboTestCodec) decodeResponse(data []byte) (*remoting.Response, int, e
 			}
 		} else {
 			response.Status = hessian.Response_OK
-			//reply(session, p, hessian.PackageHeartbeat)
+			// reply(session, p, hessian.PackageHeartbeat)
 		}
 		return response, hessian.HEADER_LENGTH + pkg.Header.BodyLen, error
 	}
diff --git a/remoting/getty/getty_client_test.go b/remoting/getty/getty_client_test.go
index c32e0c23f4b3705c3400a96a8bb1247c7e3eae40..3b59e9cdec1be4ea187d0da0a1458c6c3cbbf4ca 100644
--- a/remoting/getty/getty_client_test.go
+++ b/remoting/getty/getty_client_test.go
@@ -52,7 +52,6 @@ func TestRunSuite(t *testing.T) {
 }
 
 func testRequestOneWay(t *testing.T, svr *Server, url *common.URL, client *Client) {
-
 	request := remoting.NewRequest("2.0.2")
 	up := &UserProvider{}
 	invocation := createInvocation("GetUser", nil, nil, []interface{}{[]interface{}{"1", "username"}, up},
@@ -62,7 +61,7 @@ func testRequestOneWay(t *testing.T, svr *Server, url *common.URL, client *Clien
 	request.Data = invocation
 	request.Event = false
 	request.TwoWay = false
-	//user := &User{}
+	// user := &User{}
 	err := client.Request(request, 3*time.Second, nil)
 	assert.NoError(t, err)
 }
@@ -169,9 +168,7 @@ func testGetUser0(t *testing.T, c *Client) {
 }
 
 func testGetUser1(t *testing.T, c *Client) {
-	var (
-		err error
-	)
+	var err error
 	request := remoting.NewRequest("2.0.2")
 	invocation := createInvocation("GetUser1", nil, nil, []interface{}{},
 		[]reflect.Value{})
@@ -189,9 +186,7 @@ func testGetUser1(t *testing.T, c *Client) {
 }
 
 func testGetUser2(t *testing.T, c *Client) {
-	var (
-		err error
-	)
+	var err error
 	request := remoting.NewRequest("2.0.2")
 	invocation := createInvocation("GetUser2", nil, nil, []interface{}{},
 		[]reflect.Value{})
@@ -207,9 +202,7 @@ func testGetUser2(t *testing.T, c *Client) {
 }
 
 func testGetUser3(t *testing.T, c *Client) {
-	var (
-		err error
-	)
+	var err error
 	request := remoting.NewRequest("2.0.2")
 	invocation := createInvocation("GetUser3", nil, nil, []interface{}{},
 		[]reflect.Value{})
@@ -230,9 +223,7 @@ func testGetUser3(t *testing.T, c *Client) {
 }
 
 func testGetUser4(t *testing.T, c *Client) {
-	var (
-		err error
-	)
+	var err error
 	request := remoting.NewRequest("2.0.2")
 	invocation := invocation.NewRPCInvocation("GetUser4", []interface{}{[]interface{}{"1", "username"}}, nil)
 	attachment := map[string]string{INTERFACE_KEY: "com.ikurento.user.UserProvider"}
@@ -250,9 +241,7 @@ func testGetUser4(t *testing.T, c *Client) {
 }
 
 func testGetUser5(t *testing.T, c *Client) {
-	var (
-		err error
-	)
+	var err error
 	request := remoting.NewRequest("2.0.2")
 	invocation := invocation.NewRPCInvocation("GetUser5", []interface{}{map[interface{}]interface{}{"id": "1", "name": "username"}}, nil)
 	attachment := map[string]string{INTERFACE_KEY: "com.ikurento.user.UserProvider"}
@@ -341,7 +330,6 @@ func testClient_AsyncCall(t *testing.T, svr *Server, url *common.URL, client *Cl
 }
 
 func InitTest(t *testing.T) (*Server, *common.URL) {
-
 	hessian.RegisterPOJO(&User{})
 	remoting.RegistryCodec("dubbo", &DubboTestCodec{})
 
@@ -388,7 +376,8 @@ func InitTest(t *testing.T) (*Server, *common.URL) {
 			WaitTimeout:      "1s",
 			MaxMsgLen:        10240000000,
 			SessionName:      "server",
-		}})
+		},
+	})
 	assert.NoError(t, srvConf.CheckValidity())
 
 	url, err := common.NewURL("dubbo://127.0.0.1:20060/com.ikurento.user.UserProvider?anyhost=true&" +
@@ -405,7 +394,7 @@ func InitTest(t *testing.T) (*Server, *common.URL) {
 		BaseInvoker: *protocol.NewBaseInvoker(url),
 	}
 	handler := func(invocation *invocation.RPCInvocation) protocol.RPCResult {
-		//result := protocol.RPCResult{}
+		// result := protocol.RPCResult{}
 		r := invoker.Invoke(context.Background(), invocation)
 		result := protocol.RPCResult{
 			Err:   r.Error(),
@@ -432,8 +421,7 @@ type (
 		Name string `json:"name"`
 	}
 
-	UserProvider struct {
-		//user map[string]User
+	UserProvider struct { // user map[string]User
 	}
 )
 
@@ -473,7 +461,6 @@ func (u *UserProvider) GetUser3(rsp *[]interface{}) error {
 }
 
 func (u *UserProvider) GetUser4(ctx context.Context, req []interface{}) ([]interface{}, error) {
-
 	return []interface{}{User{Id: req[0].([]interface{})[0].(string), Name: req[0].([]interface{})[1].(string)}}, nil
 }
 
diff --git a/remoting/getty/getty_server.go b/remoting/getty/getty_server.go
index 4930a6ad0ee0dbcde50a16e8df6b6245fb87a617..76eb4781cb07e07ad039f90e1009c2bf1f358b89 100644
--- a/remoting/getty/getty_server.go
+++ b/remoting/getty/getty_server.go
@@ -40,9 +40,7 @@ import (
 	"github.com/apache/dubbo-go/remoting"
 )
 
-var (
-	srvConf *ServerConfig
-)
+var srvConf *ServerConfig
 
 func initServer(protocol string) {
 	// load clientconfig from provider_config
@@ -104,7 +102,7 @@ type Server struct {
 
 // NewServer create a new Server
 func NewServer(url *common.URL, handlers func(*invocation.RPCInvocation) protocol.RPCResult) *Server {
-	//init
+	// init
 	initServer(url.Protocol)
 
 	srvConf.SSLEnabled = url.GetParamBool(constant.SSL_ENABLED_KEY, false)
diff --git a/remoting/getty/listener.go b/remoting/getty/listener.go
index 5443d371021c1235601a30a2e0011eeb9545713c..96df02b37dd6b1c944f70394aca5d11215053b4a 100644
--- a/remoting/getty/listener.go
+++ b/remoting/getty/listener.go
@@ -289,7 +289,6 @@ func (h *RpcServerHandler) OnMessage(session getty.Session, pkg interface{}) {
 			}
 			reply(session, resp)
 		}
-
 	}()
 
 	invoc, ok := req.Data.(*invocation.RPCInvocation)
diff --git a/remoting/getty/opentracing.go b/remoting/getty/opentracing.go
index 4ba4fde9d880dee8437f8bb3dfdfec910f96fdcc..ab74c855d1e8f40fb18bf9fbcaaa6f9f4fb2de5f 100644
--- a/remoting/getty/opentracing.go
+++ b/remoting/getty/opentracing.go
@@ -20,6 +20,7 @@ package getty
 import (
 	"github.com/opentracing/opentracing-go"
 )
+
 import (
 	invocation_impl "github.com/apache/dubbo-go/protocol/invocation"
 )
@@ -36,7 +37,7 @@ func injectTraceCtx(currentSpan opentracing.Span, inv *invocation_impl.RPCInvoca
 }
 
 func filterContext(attachments map[string]interface{}) map[string]string {
-	var traceAttchment = make(map[string]string)
+	traceAttchment := make(map[string]string)
 	for k, v := range attachments {
 		if r, ok := v.(string); ok {
 			traceAttchment[k] = r
diff --git a/remoting/getty/pool.go b/remoting/getty/pool.go
index 2b1cdfe2f49bfee0d5291f2eaf4183db71b8aa31..7e8cb1377dd42bd8219b77803a461234fd9a4ce4 100644
--- a/remoting/getty/pool.go
+++ b/remoting/getty/pool.go
@@ -39,7 +39,7 @@ import (
 
 type gettyRPCClient struct {
 	once sync.Once
-	//protocol string
+	// protocol string
 	addr   string
 	active int64 // zero, not create or be destroyed
 
@@ -50,9 +50,7 @@ type gettyRPCClient struct {
 	sessions    []*rpcSession
 }
 
-var (
-	errClientPoolClosed = perrors.New("client pool closed")
-)
+var errClientPoolClosed = perrors.New("client pool closed")
 
 func newGettyRPCClientConn(pool *gettyRPCClientPool, addr string) (*gettyRPCClient, error) {
 	var (
@@ -384,7 +382,7 @@ func (p *gettyRPCClientPool) get() (*gettyRPCClient, error) {
 			conn = p.conns[0]
 		}
 		// This will recreate gettyRpcClient for remove last position
-		//p.conns = p.conns[:len(p.conns)-1]
+		// p.conns = p.conns[:len(p.conns)-1]
 
 		if d := now - conn.getActive(); d > p.ttl {
 			p.remove(conn)
@@ -392,7 +390,7 @@ func (p *gettyRPCClientPool) get() (*gettyRPCClient, error) {
 			num = len(p.conns)
 			continue
 		}
-		conn.updateActive(now) //update active time
+		conn.updateActive(now) // update active time
 		return conn, nil
 	}
 	return nil, nil
diff --git a/remoting/getty/readwriter.go b/remoting/getty/readwriter.go
index 61062dfe506bdd68cab9be922ac085312e3a52d2..c04437a8f2d4a2d2e327c197b0cf7d58ad0fae2c 100644
--- a/remoting/getty/readwriter.go
+++ b/remoting/getty/readwriter.go
@@ -51,7 +51,7 @@ func NewRpcClientPackageHandler(client *Client) *RpcClientPackageHandler {
 // and send to client each time. the Read can assemble it.
 func (p *RpcClientPackageHandler) Read(ss getty.Session, data []byte) (interface{}, int, error) {
 	resp, length, err := (p.client.codec).Decode(data)
-	//err := pkg.Unmarshal(buf, p.client)
+	// err := pkg.Unmarshal(buf, p.client)
 	if err != nil {
 		if errors.Is(err, hessian.ErrHeaderNotEnough) || errors.Is(err, hessian.ErrBodyNotEnough) {
 			return nil, 0, nil
@@ -112,7 +112,7 @@ func NewRpcServerPackageHandler(server *Server) *RpcServerPackageHandler {
 // and send to client each time. the Read can assemble it.
 func (p *RpcServerPackageHandler) Read(ss getty.Session, data []byte) (interface{}, int, error) {
 	req, length, err := (p.server.codec).Decode(data)
-	//resp,len, err := (*p.).DecodeResponse(buf)
+	// resp,len, err := (*p.).DecodeResponse(buf)
 	if err != nil {
 		if errors.Is(err, hessian.ErrHeaderNotEnough) || errors.Is(err, hessian.ErrBodyNotEnough) {
 			return nil, 0, nil
@@ -150,5 +150,4 @@ func (p *RpcServerPackageHandler) Write(ss getty.Session, pkg interface{}) ([]by
 
 	logger.Errorf("illegal pkg:%+v\n, it is %+v", pkg, reflect.TypeOf(pkg))
 	return nil, perrors.New("invalid rpc response")
-
 }
diff --git a/remoting/getty/readwriter_test.go b/remoting/getty/readwriter_test.go
index c54c385b0e1310bdd9a5884b9f5cb6cd6b4c475a..db6dd8e9f2e58979f65d6925bedc808d7a74cd79 100644
--- a/remoting/getty/readwriter_test.go
+++ b/remoting/getty/readwriter_test.go
@@ -125,7 +125,8 @@ func getServer(t *testing.T) (*Server, *common.URL) {
 			WaitTimeout:      "1s",
 			MaxMsgLen:        10240000000,
 			SessionName:      "server",
-		}})
+		},
+	})
 	assert.NoError(t, srvConf.CheckValidity())
 
 	url, err := common.NewURL("dubbo://127.0.0.1:20061/com.ikurento.user.AdminProvider?anyhost=true&" +
@@ -142,7 +143,7 @@ func getServer(t *testing.T) (*Server, *common.URL) {
 		BaseInvoker: *protocol.NewBaseInvoker(url),
 	}
 	handler := func(invocation *invocation.RPCInvocation) protocol.RPCResult {
-		//result := protocol.RPCResult{}
+		// result := protocol.RPCResult{}
 		r := invoker.Invoke(context.Background(), invocation)
 		result := protocol.RPCResult{
 			Err:   r.Error(),
@@ -159,8 +160,7 @@ func getServer(t *testing.T) (*Server, *common.URL) {
 	return server, url
 }
 
-type AdminProvider struct {
-}
+type AdminProvider struct{}
 
 func (a *AdminProvider) GetAdmin(ctx context.Context, req []interface{}, rsp *User) error {
 	rsp.Id = req[0].(string)
diff --git a/remoting/kubernetes/client.go b/remoting/kubernetes/client.go
index ce6bcccea50643cd49f3f99fcf4b86e73309b28c..aabbc005791784cf6f575abfa4db744b5d1219ed 100644
--- a/remoting/kubernetes/client.go
+++ b/remoting/kubernetes/client.go
@@ -76,7 +76,6 @@ func newClient(url *common.URL) (*Client, error) {
 
 // Create creates k/v pair in watcher-set
 func (c *Client) Create(k, v string) error {
-
 	// the read current pod must be lock, protect every
 	// create operation can be atomic
 	c.lock.Lock()
@@ -92,7 +91,6 @@ func (c *Client) Create(k, v string) error {
 
 // GetChildren gets k children list from kubernetes-watcherSet
 func (c *Client) GetChildren(k string) ([]string, []string, error) {
-
 	objectList, err := c.controller.watcherSet.Get(k, true)
 	if err != nil {
 		return nil, nil, perrors.WithMessagef(err, "get children from watcherSet on (%s)", k)
@@ -111,7 +109,6 @@ func (c *Client) GetChildren(k string) ([]string, []string, error) {
 
 // Watch watches on spec key
 func (c *Client) Watch(k string) (<-chan *WatcherEvent, <-chan struct{}, error) {
-
 	w, err := c.controller.watcherSet.Watch(k, false)
 	if err != nil {
 		return nil, nil, perrors.WithMessagef(err, "watch on (%s)", k)
@@ -122,7 +119,6 @@ func (c *Client) Watch(k string) (<-chan *WatcherEvent, <-chan struct{}, error)
 
 // WatchWithPrefix watches on spec prefix
 func (c *Client) WatchWithPrefix(prefix string) (<-chan *WatcherEvent, <-chan struct{}, error) {
-
 	w, err := c.controller.watcherSet.Watch(prefix, true)
 	if err != nil {
 		return nil, nil, perrors.WithMessagef(err, "watch on prefix (%s)", prefix)
@@ -133,7 +129,6 @@ func (c *Client) WatchWithPrefix(prefix string) (<-chan *WatcherEvent, <-chan st
 
 // if returns false, the client is die
 func (c *Client) Valid() bool {
-
 	select {
 	case <-c.Done():
 		return false
@@ -151,10 +146,9 @@ func (c *Client) Done() <-chan struct{} {
 
 // nolint
 func (c *Client) Close() {
-
 	select {
 	case <-c.ctx.Done():
-		//already stopped
+		// already stopped
 		return
 	default:
 	}
@@ -167,7 +161,6 @@ func (c *Client) Close() {
 
 // ValidateClient validates the kubernetes client
 func ValidateClient(container clientFacade) error {
-
 	client := container.Client()
 
 	// new Client
diff --git a/remoting/kubernetes/client_test.go b/remoting/kubernetes/client_test.go
index 9cc421225ea15c250c3ea1196432cb65635144a2..be7256167d9f1dafa6a65be18e40b128cab0d84d 100644
--- a/remoting/kubernetes/client_test.go
+++ b/remoting/kubernetes/client_test.go
@@ -59,9 +59,8 @@ var tests = []struct {
 // test dataset prefix
 const prefix = "name"
 
-var (
-	watcherStopLog = "the watcherSet watcher was stopped"
-)
+var watcherStopLog = "the watcherSet watcher was stopped"
+
 var clientPodListJsonData = `{
     "apiVersion": "v1",
     "items": [
@@ -228,7 +227,6 @@ var clientPodListJsonData = `{
 `
 
 func getTestClient(t *testing.T) *Client {
-
 	pl := &v1.PodList{}
 	// 1. install test data
 	if err := json.Unmarshal([]byte(clientPodListJsonData), &pl); err != nil {
@@ -257,7 +255,6 @@ func getTestClient(t *testing.T) *Client {
 }
 
 func TestClientValid(t *testing.T) {
-
 	client := getTestClient(t)
 	defer client.Close()
 
@@ -272,7 +269,6 @@ func TestClientValid(t *testing.T) {
 }
 
 func TestClientDone(t *testing.T) {
-
 	client := getTestClient(t)
 
 	go func() {
@@ -287,7 +283,6 @@ func TestClientDone(t *testing.T) {
 }
 
 func TestClientCreateKV(t *testing.T) {
-
 	client := getTestClient(t)
 	defer client.Close()
 
@@ -304,7 +299,6 @@ func TestClientCreateKV(t *testing.T) {
 }
 
 func TestClientGetChildrenKVList(t *testing.T) {
-
 	client := getTestClient(t)
 	defer client.Close()
 
@@ -314,7 +308,6 @@ func TestClientGetChildrenKVList(t *testing.T) {
 	syncDataComplete := make(chan struct{})
 
 	go func() {
-
 		wc, done, err := client.WatchWithPrefix(prefix)
 		if err != nil {
 			t.Error(err)
@@ -374,23 +367,19 @@ func TestClientGetChildrenKVList(t *testing.T) {
 	}
 
 	for expectK, expectV := range expect {
-
 		if got[expectK] != expectV {
 			t.Fatalf("expect {%s: %s} but got {%s: %v}", expectK, expectV, expectK, got[expectK])
 		}
 	}
-
 }
 
 func TestClientWatchPrefix(t *testing.T) {
-
 	client := getTestClient(t)
 
 	wg := sync.WaitGroup{}
 	wg.Add(1)
 
 	go func() {
-
 		wc, done, err := client.WatchWithPrefix(prefix)
 		if err != nil {
 			t.Error(err)
@@ -426,14 +415,12 @@ func TestClientWatchPrefix(t *testing.T) {
 }
 
 func TestClientWatch(t *testing.T) {
-
 	client := getTestClient(t)
 
 	wg := sync.WaitGroup{}
 	wg.Add(1)
 
 	go func() {
-
 		wc, done, err := client.Watch(prefix)
 		if err != nil {
 			t.Error(err)
@@ -449,7 +436,6 @@ func TestClientWatch(t *testing.T) {
 				return
 			}
 		}
-
 	}()
 
 	// must wait the watch goroutine already start the watch goroutine
diff --git a/remoting/kubernetes/facade_test.go b/remoting/kubernetes/facade_test.go
index a6c6c02b515b6e1ebc815bb5b388ae68db68621d..d0d710cb265f7856afa4c33d784bbac5a351d9ba 100644
--- a/remoting/kubernetes/facade_test.go
+++ b/remoting/kubernetes/facade_test.go
@@ -30,8 +30,8 @@ import (
 type mockFacade struct {
 	*common.URL
 	client *Client
-	//cltLock sync.Mutex
-	//done    chan struct{}
+	// cltLock sync.Mutex
+	// done    chan struct{}
 }
 
 func (r *mockFacade) Client() *Client {
@@ -57,8 +57,8 @@ func (r *mockFacade) RestartCallBack() bool {
 func (r *mockFacade) IsAvailable() bool {
 	return true
 }
-func Test_Facade(t *testing.T) {
 
+func Test_Facade(t *testing.T) {
 	regUrl, err := common.NewURL("registry://127.0.0.1:443",
 		common.WithParamsValue(constant.ROLE_KEY, strconv.Itoa(common.CONSUMER)))
 	if err != nil {
diff --git a/remoting/kubernetes/listener.go b/remoting/kubernetes/listener.go
index a737f4e0d4eae7d78bb17c47e9c216661c8b9c86..2c4149b850768deaefe44706b3cae238c0f43ac6 100644
--- a/remoting/kubernetes/listener.go
+++ b/remoting/kubernetes/listener.go
@@ -86,7 +86,6 @@ func (l *EventListener) ListenServiceNodeEvent(key string, listener ...remoting.
 // return true means the event type is DELETE
 // return false means the event type is CREATE || UPDATE
 func (l *EventListener) handleEvents(event *WatcherEvent, listeners ...remoting.DataListener) bool {
-
 	logger.Infof("got a kubernetes-watcherSet event {type: %d, key: %s}", event.EventType, event.Key)
 
 	switch event.EventType {
@@ -120,7 +119,6 @@ func (l *EventListener) handleEvents(event *WatcherEvent, listeners ...remoting.
 
 // Listen on a set of key with spec prefix
 func (l *EventListener) ListenServiceNodeEventWithPrefix(prefix string, listener ...remoting.DataListener) {
-
 	defer l.wg.Done()
 	for {
 		wc, done, err := l.client.WatchWithPrefix(prefix)
@@ -157,7 +155,6 @@ func (l *EventListener) ListenServiceNodeEventWithPrefix(prefix string, listener
 //                            |
 //                            --------> ListenServiceNodeEvent
 func (l *EventListener) ListenServiceEvent(key string, listener remoting.DataListener) {
-
 	l.keyMapLock.RLock()
 	_, ok := l.keyMap[key]
 	l.keyMapLock.RUnlock()
diff --git a/remoting/kubernetes/listener_test.go b/remoting/kubernetes/listener_test.go
index 0b05b6e6e09501dfd25164e865a3eb6eef91dc9f..4701b5d343bfd34a20ab6f42f570b6b7d9958010 100644
--- a/remoting/kubernetes/listener_test.go
+++ b/remoting/kubernetes/listener_test.go
@@ -69,8 +69,7 @@ func (m *mockDataListener) DataChange(eventType remoting.Event) bool {
 }
 
 func TestListener(t *testing.T) {
-
-	var tests = []struct {
+	tests := []struct {
 		input struct {
 			k string
 			v string
diff --git a/remoting/kubernetes/registry_controller.go b/remoting/kubernetes/registry_controller.go
index f66163d3c68768e99a84fbca0110e099985429be..212549a3ee8748fdb525f557dd0355645e99aaa9 100644
--- a/remoting/kubernetes/registry_controller.go
+++ b/remoting/kubernetes/registry_controller.go
@@ -68,9 +68,7 @@ const (
 	defaultResync = 5 * time.Minute
 )
 
-var (
-	ErrDubboLabelAlreadyExist = perrors.New("dubbo label already exist")
-)
+var ErrDubboLabelAlreadyExist = perrors.New("dubbo label already exist")
 
 // dubboRegistryController works like a kubernetes controller
 type dubboRegistryController struct {
@@ -96,7 +94,7 @@ type dubboRegistryController struct {
 	listAndWatchStartResourceVersion uint64
 	namespacedInformerFactory        map[string]informers.SharedInformerFactory
 	namespacedPodInformers           map[string]informerscorev1.PodInformer
-	queue                            workqueue.Interface //shared by namespaced informers
+	queue                            workqueue.Interface // shared by namespaced informers
 }
 
 func newDubboRegistryController(
@@ -146,7 +144,6 @@ func newDubboRegistryController(
 // GetInClusterKubernetesClient
 // current pod running in kubernetes-cluster
 func GetInClusterKubernetesClient() (kubernetes.Interface, error) {
-
 	// read in-cluster config
 	cfg, err := rest.InClusterConfig()
 	if err != nil {
@@ -161,7 +158,6 @@ func GetInClusterKubernetesClient() (kubernetes.Interface, error) {
 // 2. put every element to watcherSet
 // 3. refresh watch book-mark
 func (c *dubboRegistryController) initWatchSet() error {
-
 	req, err := labels.NewRequirement(DubboIOLabelKey, selection.In, []string{DubboIOConsumerLabelValue, DubboIOProviderLabelValue})
 	if err != nil {
 		return perrors.WithMessage(err, "new requirement")
@@ -193,7 +189,6 @@ func (c *dubboRegistryController) initWatchSet() error {
 // 1. current pod name
 // 2. current pod working namespace
 func (c *dubboRegistryController) readConfig() error {
-
 	// read current pod name && namespace
 	c.name = os.Getenv(podNameKey)
 	if len(c.name) == 0 {
@@ -207,7 +202,6 @@ func (c *dubboRegistryController) readConfig() error {
 }
 
 func (c *dubboRegistryController) initNamespacedPodInformer(ns string) error {
-
 	req, err := labels.NewRequirement(DubboIOLabelKey, selection.In, []string{DubboIOConsumerLabelValue, DubboIOProviderLabelValue})
 	if err != nil {
 		return perrors.WithMessage(err, "new requirement")
@@ -237,7 +231,6 @@ func (c *dubboRegistryController) initNamespacedPodInformer(ns string) error {
 }
 
 func (c *dubboRegistryController) initPodInformer() error {
-
 	if c.role == common.PROVIDER {
 		return nil
 	}
@@ -323,7 +316,6 @@ func (c *dubboRegistryController) startALLInformers() {
 // run
 // controller process every event in work-queue
 func (c *dubboRegistryController) run() {
-
 	if c.role == common.PROVIDER {
 		return
 	}
@@ -402,7 +394,6 @@ func (c *dubboRegistryController) handleWatchedPodEvent(p *v1.Pod, eventType wat
 
 // unmarshalRecord unmarshals the kubernetes dubbo annotation value
 func (c *dubboRegistryController) unmarshalRecord(record string) ([]*WatcherEvent, error) {
-
 	if len(record) == 0 {
 		// []*WatcherEvent is nil.
 		return nil, nil
@@ -497,7 +488,6 @@ func (c *dubboRegistryController) assembleDUBBOLabel(p *v1.Pod) (*v1.Pod, *v1.Po
 // assembleDUBBOAnnotations assembles the dubbo kubernetes annotations
 // accord the current pod && (k,v) assemble the old-pod, new-pod
 func (c *dubboRegistryController) assembleDUBBOAnnotations(k, v string, currentPod *v1.Pod) (oldPod *v1.Pod, newPod *v1.Pod, err error) {
-
 	oldPod = &v1.Pod{}
 	newPod = &v1.Pod{}
 	oldPod.Annotations = make(map[string]string, 8)
@@ -563,7 +553,6 @@ func (c *dubboRegistryController) readCurrentPod() (*v1.Pod, error) {
 
 // addAnnotationForCurrentPod adds annotation for current pod
 func (c *dubboRegistryController) addAnnotationForCurrentPod(k string, v string) error {
-
 	c.lock.Lock()
 	defer c.lock.Unlock()
 
diff --git a/remoting/kubernetes/watch.go b/remoting/kubernetes/watch.go
index 7bb5ef1754836b481089d67b9cf34437567ffa9a..34f5a3458a15cbca98e66393a4f7a9655a37979d 100644
--- a/remoting/kubernetes/watch.go
+++ b/remoting/kubernetes/watch.go
@@ -46,7 +46,6 @@ const (
 )
 
 func (e eventType) String() string {
-
 	switch e {
 	case Create:
 		return "CREATE"
@@ -143,9 +142,7 @@ func (s *watcherSetImpl) Done() <-chan struct{} {
 
 // Put puts the watch event to watcher-set
 func (s *watcherSetImpl) Put(watcherEvent *WatcherEvent) error {
-
 	blockSendMsg := func(object *WatcherEvent, w *watcher) {
-
 		select {
 		case <-w.done():
 			// the watcher already stop
@@ -212,7 +209,6 @@ func (s *watcherSetImpl) valid() error {
 
 // addWatcher
 func (s *watcherSetImpl) addWatcher(key string, prefix bool) (Watcher, error) {
-
 	if err := s.valid(); err != nil {
 		return nil, err
 	}
@@ -239,7 +235,6 @@ func (s *watcherSetImpl) addWatcher(key string, prefix bool) (Watcher, error) {
 
 // Get gets elements from watcher-set
 func (s *watcherSetImpl) Get(key string, prefix bool) ([]*WatcherEvent, error) {
-
 	s.lock.RLock()
 	defer s.lock.RUnlock()
 
@@ -302,7 +297,6 @@ func (w *watcher) ID() string {
 
 // nolint
 func (w *watcher) stop() {
-
 	// double close will panic
 	w.closeOnce.Do(func() {
 		close(w.exit)
diff --git a/remoting/kubernetes/watch_test.go b/remoting/kubernetes/watch_test.go
index efefcc5dc9db629aa0f109a8da4f4227c18504fa..9a0139dd68e9eb4a537335261b87bf58679c7d86 100644
--- a/remoting/kubernetes/watch_test.go
+++ b/remoting/kubernetes/watch_test.go
@@ -26,7 +26,6 @@ import (
 )
 
 func TestWatchSet(t *testing.T) {
-
 	ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
 	defer cancel()
 
@@ -61,7 +60,6 @@ func TestWatchSet(t *testing.T) {
 
 		wg.Add(1)
 		go func() {
-
 			defer wg.Done()
 			w, err := s.Watch("key", true)
 			if err != nil {
diff --git a/remoting/listener.go b/remoting/listener.go
index eb27c71dfd64a1063927663a9817f8f23b85dd20..a87e50244613add48449aebe0dfccd159506f8b4 100644
--- a/remoting/listener.go
+++ b/remoting/listener.go
@@ -23,7 +23,7 @@ import (
 
 // DataListener defines common data listener interface
 type DataListener interface {
-	DataChange(eventType Event) bool //bool is return for interface implement is interesting
+	DataChange(eventType Event) bool // bool is return for interface implement is interesting
 }
 
 //////////////////////////////////////////
diff --git a/remoting/zookeeper/curator_discovery/service_discovery.go b/remoting/zookeeper/curator_discovery/service_discovery.go
index ebe784c353ce2b7254baab1fcbe1d985e935be2f..9c7488bc2aab93959d5f9a3ab18e5c0a8d41d39b 100644
--- a/remoting/zookeeper/curator_discovery/service_discovery.go
+++ b/remoting/zookeeper/curator_discovery/service_discovery.go
@@ -120,7 +120,6 @@ func (sd *ServiceDiscovery) UpdateService(instance *ServiceInstance) error {
 		return perrors.New("[ServiceDiscovery] services value not entry")
 	}
 	data, err := json.Marshal(instance)
-
 	if err != nil {
 		return err
 	}
diff --git a/remoting/zookeeper/facade.go b/remoting/zookeeper/facade.go
index aeaa317ea35bea215d8573e9d3d20d945342d481..3bc7995561f76def28e5b46f5bbd6adb486eba89 100644
--- a/remoting/zookeeper/facade.go
+++ b/remoting/zookeeper/facade.go
@@ -21,9 +21,11 @@ import (
 	"sync"
 	"time"
 )
+
 import (
 	gxzookeeper "github.com/dubbogo/gost/database/kv/zk"
 )
+
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/logger"
diff --git a/remoting/zookeeper/listener.go b/remoting/zookeeper/listener.go
index c24a4fc1f9e6e97a0a09433dfe532a7e104435ce..5440127a88ebda6c06927298791e410033fbcf5b 100644
--- a/remoting/zookeeper/listener.go
+++ b/remoting/zookeeper/listener.go
@@ -38,9 +38,7 @@ import (
 	"github.com/apache/dubbo-go/remoting"
 )
 
-var (
-	defaultTTL = 15 * time.Minute
-)
+var defaultTTL = 15 * time.Minute
 
 // nolint
 type ZkEventListener struct {
diff --git a/remoting/zookeeper/listener_test.go b/remoting/zookeeper/listener_test.go
index 12786655a79335e32e4b65aadb6ba67d6ca09f22..67abd23214f15dd919e2f901f265daf01ee68325 100644
--- a/remoting/zookeeper/listener_test.go
+++ b/remoting/zookeeper/listener_test.go
@@ -35,9 +35,7 @@ import (
 	"github.com/apache/dubbo-go/remoting"
 )
 
-var (
-	dubboPropertiesPath = "/dubbo/dubbo.properties"
-)
+var dubboPropertiesPath = "/dubbo/dubbo.properties"
 
 func initZkData(t *testing.T) (*zk.TestCluster, *gxzookeeper.ZookeeperClient, <-chan zk.Event) {
 	ts, client, event, err := gxzookeeper.NewMockZookeeperClient("test", 15*time.Second)
diff --git a/test/integrate/dubbo/go-client/client.go b/test/integrate/dubbo/go-client/client.go
index 4c62674d33dba7caca72ca7552e73c4c0fdf14c9..afe965ed25decd811894bdccb3abbcad2f7ea361 100644
--- a/test/integrate/dubbo/go-client/client.go
+++ b/test/integrate/dubbo/go-client/client.go
@@ -37,9 +37,7 @@ import (
 	_ "github.com/apache/dubbo-go/registry/zookeeper"
 )
 
-var (
-	survivalTimeout int = 10e9
-)
+var survivalTimeout int = 10e9
 
 func println(format string, args ...interface{}) {
 	fmt.Printf("\033[32;40m"+format+"\033[0m\n", args...)
diff --git a/test/integrate/dubbo/go-client/version.go b/test/integrate/dubbo/go-client/version.go
index c6138584f1ddeab3a4927774f44f9e78a8f08da7..92974643b3733687af43def29d85ee1618f6bfb7 100644
--- a/test/integrate/dubbo/go-client/version.go
+++ b/test/integrate/dubbo/go-client/version.go
@@ -17,6 +17,4 @@
 
 package main
 
-var (
-	Version = "2.6.0"
-)
+var Version = "2.6.0"
diff --git a/test/integrate/dubbo/go-server/server.go b/test/integrate/dubbo/go-server/server.go
index a5d18dba3c14a1219dcd0952e191395a27e5b9e7..0a388190855df1814ecf7b96a1f4efde9bd96071 100644
--- a/test/integrate/dubbo/go-server/server.go
+++ b/test/integrate/dubbo/go-server/server.go
@@ -33,15 +33,12 @@ import (
 	_ "github.com/apache/dubbo-go/registry/zookeeper"
 )
 
-var (
-	stopC = make(chan struct{})
-)
+var stopC = make(chan struct{})
 
 // they are necessary:
 // 		export CONF_PROVIDER_FILE_PATH="xxx"
 // 		export APP_LOG_CONF_FILE="xxx"
 func main() {
-
 	hessian.RegisterPOJO(&User{})
 	config.Load()
 
diff --git a/test/integrate/dubbo/go-server/user.go b/test/integrate/dubbo/go-server/user.go
index 7bff41566152940f885dec2eb256b261d04ad59a..aace76c1d2de93c2437ebe86943b5234c44a18d8 100644
--- a/test/integrate/dubbo/go-server/user.go
+++ b/test/integrate/dubbo/go-server/user.go
@@ -41,8 +41,7 @@ type User struct {
 	Time time.Time
 }
 
-type UserProvider struct {
-}
+type UserProvider struct{}
 
 func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
 	println("req:%#v", req)
diff --git a/test/integrate/dubbo/go-server/version.go b/test/integrate/dubbo/go-server/version.go
index c6138584f1ddeab3a4927774f44f9e78a8f08da7..92974643b3733687af43def29d85ee1618f6bfb7 100644
--- a/test/integrate/dubbo/go-server/version.go
+++ b/test/integrate/dubbo/go-server/version.go
@@ -17,6 +17,4 @@
 
 package main
 
-var (
-	Version = "2.6.0"
-)
+var Version = "2.6.0"
diff --git a/tools/cli/client/client.go b/tools/cli/client/client.go
index fd15939bba4ffd7e7bafbe374ed1a36ad588f1fa..b6ab019cb1f024efeeb5a2af16364350049af90c 100644
--- a/tools/cli/client/client.go
+++ b/tools/cli/client/client.go
@@ -68,7 +68,7 @@ func NewTelnetClient(host string, port int, protocolName, interfaceID, version,
 	return &TelnetClient{
 		tcpAddr:          tcpAddr,
 		conn:             conn,
-		responseTimeout:  time.Duration(timeout) * time.Millisecond, //default timeout
+		responseTimeout:  time.Duration(timeout) * time.Millisecond, // default timeout
 		protocolName:     protocolName,
 		pendingResponses: &sync.Map{},
 		proto:            proto,
@@ -95,7 +95,7 @@ func resolveTCPAddr(addr string) *net.TCPAddr {
 
 // ProcessRequests send all requests
 func (t *TelnetClient) ProcessRequests(userPkg interface{}) {
-	for i, _ := range t.requestList {
+	for i := range t.requestList {
 		t.processSingleRequest(t.requestList[i], userPkg)
 	}
 }
diff --git a/tools/cli/common/protocol.go b/tools/cli/common/protocol.go
index dd2454a1c7edde0911b69c0e4c581c5bd64f2297..d54d553e0a0663524d7fbb89c151eb4cfb66bcb9 100644
--- a/tools/cli/common/protocol.go
+++ b/tools/cli/common/protocol.go
@@ -21,9 +21,7 @@ import (
 	"github.com/apache/dubbo-go/tools/cli/protocol"
 )
 
-var (
-	protocols = make(map[string]func() protocol.Protocol, 8)
-)
+var protocols = make(map[string]func() protocol.Protocol, 8)
 
 // SetProtocol sets the protocol extension with @name
 func SetProtocol(name string, v func() protocol.Protocol) {
diff --git a/tools/cli/example/server/main.go b/tools/cli/example/server/main.go
index ed1ed5290e7d74b6a757ad13436f781a74273fe5..00ea543f454db1cbee8fe910cdad4503d78709b6 100644
--- a/tools/cli/example/server/main.go
+++ b/tools/cli/example/server/main.go
@@ -38,9 +38,7 @@ import (
 	_ "github.com/apache/dubbo-go/registry/protocol"
 )
 
-var (
-	survivalTimeout = int(3e9)
-)
+var survivalTimeout = int(3e9)
 
 // they are necessary:
 // 		export CONF_PROVIDER_FILE_PATH="xxx"
diff --git a/tools/cli/example/server/user.go b/tools/cli/example/server/user.go
index 5835848dc9ad28fd2b14d2ee6fd0f4abfb5a8396..0bb25b545b64ff9d30e2e2572985c1f79d858d85 100644
--- a/tools/cli/example/server/user.go
+++ b/tools/cli/example/server/user.go
@@ -34,8 +34,7 @@ func init() {
 	hessian.RegisterPOJO(&CallUserStruct{})
 }
 
-type UserProvider struct {
-}
+type UserProvider struct{}
 
 func (u *UserProvider) GetUser(ctx context.Context, userStruct *CallUserStruct) (*User, error) {
 	fmt.Printf("=======================\nreq:%#v\n", userStruct)
diff --git a/tools/cli/main.go b/tools/cli/main.go
index 1f90f67293d2a6eedc27392ea647ee5c971fd309..43ed3741b02971b6b69231397291c43869e73544 100644
--- a/tools/cli/main.go
+++ b/tools/cli/main.go
@@ -27,16 +27,18 @@ import (
 	"github.com/apache/dubbo-go/tools/cli/json_register"
 )
 
-var host string
-var port int
-var protocolName string
-var InterfaceID string
-var version string
-var group string
-var method string
-var sendObjFilePath string
-var recvObjFilePath string
-var timeout int
+var (
+	host            string
+	port            int
+	protocolName    string
+	InterfaceID     string
+	version         string
+	group           string
+	method          string
+	sendObjFilePath string
+	recvObjFilePath string
+	timeout         int
+)
 
 func init() {
 	flag.StringVar(&host, "h", "localhost", "target server host")
diff --git a/tools/cli/protocol/dubbo/codec.go b/tools/cli/protocol/dubbo/codec.go
index f73bf8e5c0d89ffada3bdbaa339c0e76498c6eb7..ba5e6b4ccb0bf9250fa4ca3f56fe53094cc0958c 100644
--- a/tools/cli/protocol/dubbo/codec.go
+++ b/tools/cli/protocol/dubbo/codec.go
@@ -33,7 +33,7 @@ import (
 	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
-//SerialID serial ID
+// SerialID serial ID
 type SerialID byte
 
 const (
@@ -41,7 +41,7 @@ const (
 	S_Dubbo SerialID = 2
 )
 
-//CallType call type
+// CallType call type
 type CallType int32
 
 const (
diff --git a/tools/cli/protocol/dubbo/dubbo_protocol.go b/tools/cli/protocol/dubbo/dubbo_protocol.go
index 97a3ac7ea526ef43256dbfda237a95757eb38fc7..f16f838061644655ddd3523ddc0cdb1809f0f341 100644
--- a/tools/cli/protocol/dubbo/dubbo_protocol.go
+++ b/tools/cli/protocol/dubbo/dubbo_protocol.go
@@ -39,8 +39,7 @@ func init() {
 }
 
 // RpcClientPackageHandler handle package for client in getty.
-type RpcClientPackageHandler struct {
-}
+type RpcClientPackageHandler struct{}
 
 func NewRpcClientPackageHandler() protocol.Protocol {
 	return RpcClientPackageHandler{}