Introduce type

Last modified: 16 October 2024

The Introduce Type refactoring extracts a type that is inside of another type. Also, you can use this refactoring for converting the anonymous structure type to a named type.

For example, the extract operation might look like this. Consider the following JSON.

"email": "noah.poulsen@example.com", {...}

If you paste it to GoLand's editor and convert it to a struct type, you will get the T struct type with another Location struct type inside. The T struct is valid and you can continue working with it. But you might want to embed the Location type differently. See the following animation.

  1. In the editor, click a type that you want to extract.
  2. Click Refactor | Extract/Introduce and select Introduce Type.

The animation shows how GoLand converts the anonymous structure type to a named type. You can try the Introduce Type refactoring with the following code snippet.

package main {...}