From 37844bb070230ddae33017b22816ab935ca7e193 Mon Sep 17 00:00:00 2001 From: qydysky Date: Mon, 12 Apr 2021 15:14:09 +0800 Subject: [PATCH] GetStruct --- limit/Limit.go | 6 ++++++ limit/Limit_test.go | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/limit/Limit.go b/limit/Limit.go index 92edfc4..bacfbe5 100644 --- a/limit/Limit.go +++ b/limit/Limit.go @@ -40,4 +40,10 @@ func (l *limit) TO() bool { case <-time.After(time.Duration(l.ms_to_timeout)*time.Millisecond):return true; } return false +} + +//assert interface{} to *limit +func GetStruct(i interface{}) (l *limit,ok bool) { + l,ok = i.(*limit) + return } \ No newline at end of file diff --git a/limit/Limit_test.go b/limit/Limit_test.go index be2730f..908590e 100644 --- a/limit/Limit_test.go +++ b/limit/Limit_test.go @@ -51,4 +51,11 @@ func Test_4(t *testing.T){ time.Sleep(time.Millisecond) } t.Log(pass) +} + +func Test_5(t *testing.T){ + l := New(0,0,10) + if v,ok := GetStruct(interface{}(l));!ok{ + t.Log(`error struct`,v) + } } \ No newline at end of file -- 2.39.2