diff --git a/README.md b/README.md index 5933687c..0e424743 100644 --- a/README.md +++ b/README.md @@ -334,27 +334,6 @@ Compared to the rest open source projects, this one is very active and you get a -### 💎 Type aliases - -Go version 1.9 introduced the [type alias](https://golang.org/doc/go1.9#language) feature. - -Iris uses the `type alias` feature to help you writing less code by omitting some package imports. The examples and documentation are written using Go 1.9 as well. - -If you build your Go app with Go 1.9 you can, optionally, use all Iris web framework's features by importing one single package, the `github.com/kataras/iris`. - -Available type aliases; - -| Go 1.8 | Go 1.8 usage | Go 1.9 usage (optionally) | -| -----------|--------|--------|--------| -| `import "github.com/kataras/iris/context"` | `func(context.Context) {}`, `context.Handler`, `context.Map` | `func(iris.Context) {}`, `iris.Handler`, `iris.Map` | -| `import "github.com/kataras/iris/mvc"` | `type MyController struct { mvc.Controller }` , `mvc.SessionController` | `type MyController struct { iris.Controller }`, `iris.SessionController` | -| `import "github.com/kataras/iris/core/router"` | `app.PartyFunc("/users", func(p router.Party) {})` | `app.PartyFunc("/users", func(p iris.Party) {})` | -| `import "github.com/kataras/iris/core/host"` | `app.ConfigureHost(func(s *host.Supervisor) {})` | `app.ConfigureHost(func(s *iris.Supervisor) {})` | - -You can find all type aliases and their original package import statements at the [./context.go file](context.go). - -> Remember; this doesn't mean that you have to use those type alias, you can continue import the original packages as you did with Go version 1.8. - ### 📖 Learn diff --git a/faq.md b/faq.md index 0962745d..8dd8e055 100644 --- a/faq.md +++ b/faq.md @@ -25,12 +25,31 @@ Want to help and join to the greatest community? Describe your skills and push y #### type aliases | build error | reason | solution | -| -----------|--------|--------|--------| +| -----------|--------|--------| | `undefinied iris.Context` | caused of using the **optional type alias** `iris.Context` instead of the `context.Context` when building with Go 1.8 | import the original package `github.com/kataras/iris/context` and declare as `func(context.Context){})` **or** download and install the [latest go version](https://golang.org/dl) | Type alias is a new feature, introduced at Go version 1.9, so if you want to use Iris' type aliases you have to build using the latest Go version. Nothing really changes for your application if you use type alias or not, Iris' type aliases helps you to omit import statements -- to reduce lines of code, nothing more. -> README.md has a section which helps you understand more about this new feature, [read it here](https://github.com/kataras/iris#-type-aliases). +**Details...** + +Go version 1.9 introduced the [type alias](https://golang.org/doc/go1.9#language) feature. + +Iris uses the `type alias` feature to help you writing less code by omitting some package imports. The examples and documentation are written using Go 1.9 as well. + +If you build your Go app with Go 1.9 you can, optionally, use all Iris web framework's features by importing one single package, the `github.com/kataras/iris`. + +Available type aliases; + +| Go 1.8 | Go 1.8 usage | Go 1.9 usage (optionally) | +| -----------|--------|--------| +| `import "github.com/kataras/iris/context"` | `func(context.Context) {}`, `context.Handler`, `context.Map` | `func(iris.Context) {}`, `iris.Handler`, `iris.Map` | +| `import "github.com/kataras/iris/mvc"` | `type MyController struct { mvc.Controller }` , `mvc.SessionController` | `type MyController struct { iris.Controller }`, `iris.SessionController` | +| `import "github.com/kataras/iris/core/router"` | `app.PartyFunc("/users", func(p router.Party) {})` | `app.PartyFunc("/users", func(p iris.Party) {})` | +| `import "github.com/kataras/iris/core/host"` | `app.ConfigureHost(func(s *host.Supervisor) {})` | `app.ConfigureHost(func(s *iris.Supervisor) {})` | + +You can find all type aliases and their original package import statements at the [./context.go file](context.go). + +> Remember; this doesn't mean that you have to use those type alias, you can continue import the original packages as you did with Go version 1.8. ## Active development mode