-
Notifications
You must be signed in to change notification settings - Fork 557
Open
Labels
Milestone
Description
Basic
Go syntax:
func NewT(arg1 T1, arg2 T2, ..., argN TN) *T
t := NewT(arg1, arg2, ..., argN)
Go+ syntax:
func T.New(arg1 T1, arg2 T2, ..., argN TN) *T
t := T.new(arg1, arg2, ..., argN)
Go+ classfile syntax:
func .New(arg1 T1, arg2 T2, ..., argN TN) *T // Or:
func T.New(arg1 T1, arg2 T2, ..., argN TN) *T
Here T.New
is a normal static method. The general static method syntax is:
func T.Method(arg1 T1, arg2 T2, ..., argN TN) (ret1 R1, ret2 R2, ..., retM RM)
Typecast
explicit cast:
func T.cast(arg1 T1, arg2 T2, ..., argN TN) T
t := T(arg1, arg2, ..., argN)
implicit cast:
func T.icast(v OrigT) T
var t T = v // var v OrigT
right cast:
func T.rcast(v T) DestT
dest := DestT(v) // var v T
Note: Here static method cast
, icast
, rcast
are special functions like init
in Go.