add: summaries iface

This commit is contained in:
Inanc Gumus
2019-10-21 12:47:04 +03:00
parent 0fd5c2968a
commit 59865eac28
2 changed files with 29 additions and 0 deletions

View File

@ -17,3 +17,18 @@ func main() {
l.discount(.5)
l.print()
}
/*
Summary:
- Prefer to work directly with concrete types
- Leads to a simple and easy to understand code
- Abstractions (interfaces) can unnecessarily complicate your code
- Separating responsibilities is critical
- Timestamp type can represent, store, and print a UNIX timestamp
- When a type anonymously embeds a type, it can use the methods of the embedded type as its own.
- Timestamp embeds a time.Time
- So you can call the methods of the time.Time through a timestamp value
*/

View File

@ -32,3 +32,17 @@ func main() {
// var pocket money = 10
// fmt.Println("I have", pocket)
}
/*
Summary:
- fmt.Stringer has one method: String()
- That returns a string.
- It is better to be an fmt.Stringer instead of printing directly.
- Implement the String() on a type and the type can represent itself as a string.
- Bonus: The functions in the fmt package can print your type.
- They use type assertion to detect if a type implements a String() method.
- strings.Builder can efficiently combine multiple string values.
*/