Исходники и презентации
This commit is contained in:
30
lessons/structs/configurable_object/main.go
Normal file
30
lessons/structs/configurable_object/main.go
Normal file
@ -0,0 +1,30 @@
|
||||
package main
|
||||
|
||||
type Logger struct {
|
||||
name string
|
||||
level string
|
||||
}
|
||||
|
||||
func NewLogger() *Logger {
|
||||
return &Logger{}
|
||||
}
|
||||
|
||||
func (l *Logger) WithName(name string) *Logger {
|
||||
l.name = name
|
||||
return l
|
||||
}
|
||||
|
||||
func (l *Logger) WithLevel(level string) *Logger {
|
||||
l.level = level
|
||||
return l
|
||||
}
|
||||
|
||||
func main() {
|
||||
logger1 := NewLogger()
|
||||
logger2 := NewLogger().WithLevel("INFO")
|
||||
logger3 := NewLogger().WithName("storage")
|
||||
|
||||
_ = logger1
|
||||
_ = logger2
|
||||
_ = logger3
|
||||
}
|
||||
Reference in New Issue
Block a user