教程:创建包含变量和函数的实时模板
创建一个用于生成 Go 结构体和方法的 实时模板。 借助模板变量,可以在插入模板时输入类型名称并选择食物值。
创建一个新的结构体类型,其中包含一个
food字段,类型为string。实现一个
PetFood()方法,该方法将所选食物存储在局部变量中并打印一条消息。 该方法不会读取或更改结构体字段。
为了展示变量和函数在模板中的工作方式,我们将在模板文本中添加以下变量:
创建包含变量的实时模板
按下 Ctrl+Alt+S 打开设置,然后选择 。
选择 前往 组,点击
,然后选择 实时模板。
在 缩写 字段中,指定将用于扩展模板的字符。 例如,
pet。在 模板文本 字段中,粘贴以下模板:
type $TypeName$ struct { food string } func (p *$TypeName$) PetFood() { food := "$Food$" println("The $typeName$ eats " + food) }在模板文本下方,点击 定义 并选择 。 这样可以使模板在 Go 文件的顶层可用,即位于函数和其他声明之外。
点击 编辑变量… 并在 编辑模板变量 对话框中配置变量:
$TypeName$:将 表达式 字段留空。 使用模板时,GoLand 将提示用户在插入模板后输入类型名称。$typeName$:在 表达式 字段中,输入decapitalize (TypeName)。 这会将$TypeName$的首字母转换为小写。 选择 如果已定义则跳过.$Food$:在 表达式 字段中,输入enum("meat","grass", "fruit")。 使用模板时,GoLand 会在编辑器中显示这些值的列表以供选择。

点击 确定 关闭变量编辑器,然后在设置对话框中点击 确定 以保存模板。
使用创建的模板
打开一个 Go 文件,将文本光标放在
package和任何导入声明之后的空白行上,位于函数或类型声明之外。在编辑器中,开始输入模板缩写(此示例中为
pet),并从补全下拉列表中选择。输入类型名称作为变量值:
Horse。 按 Tab 跳转到下一个变量。使用键盘方向键,从
food字符串中选择grass作为值,然后按 Enter。