2014-07-31 15:09:13 -04:00
|
|
|
// Copyright 2014 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package structs
|
|
|
|
|
|
|
|
type S struct {
|
|
|
|
X, Y float64
|
|
|
|
unexported bool
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *S) Sum() float64 {
|
|
|
|
return s.X + s.Y
|
|
|
|
}
|
2015-06-05 15:24:08 -04:00
|
|
|
|
2015-06-22 22:13:09 -04:00
|
|
|
func (s *S) Identity() (*S, error) {
|
|
|
|
return s, nil
|
|
|
|
}
|
|
|
|
|
2015-06-05 15:24:08 -04:00
|
|
|
func Identity(s *S) *S {
|
|
|
|
return s
|
|
|
|
}
|
2015-06-09 17:36:16 -07:00
|
|
|
|
|
|
|
func IdentityWithError(s *S) (*S, error) {
|
|
|
|
return s, nil
|
|
|
|
}
|
2016-02-10 19:37:20 +01:00
|
|
|
|
|
|
|
type (
|
|
|
|
S2 struct{}
|
|
|
|
I interface {
|
|
|
|
M()
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
func (s *S2) M() {
|
|
|
|
}
|
2016-03-14 03:40:19 +01:00
|
|
|
|
|
|
|
func (_ *S2) String() string {
|
|
|
|
return ""
|
|
|
|
}
|