为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 vscode golang 插件会在 save 时删除运算符周围的空格?

为什么 vscode golang 插件会在 save 时删除运算符周围的空格?

Go
陪伴而非守候 2022-09-05 10:05:22
如果这很重要,我已经写了很多年的代码,但我现在才同时探索golang和vscode。在我的Linux盒子上,我安装了vscode(1.56.2)和golang插件(0.25.1)。我一直在学习一些简单的golang教程,我注意到当我保存我编辑过的文件时发生了一件奇怪的事情。这是我的台词:out = append(out, base + v)当我保存它时,它变成了这样:out = append(out, base+v)它删除了“+”运算符周围的空格。我搜索了vscode和golang扩展设置,我几乎没有发现它在保存时会做什么。实际上,在“设置”中,我选中了“保存时格式化”。那么,这是做什么的,为什么呢?我是否能够对此进行配置?
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

那么,这是做什么的,为什么呢?


编辑器在保存时运行该命令。该命令使用空格来显示操作员优先级。gofmt


以下代码段使用该命令进行格式化。请注意操作数如何更接近高优先级运算符。gofmt


fmt.Println(a + b + c + d)

fmt.Println(a * b * c * d)

fmt.Println(a + b*c + d)

fmt.Println(a*b + c*d)

该命令将删除问题中 的空格,因为gofmt++,


查看完整回答
反对 回复 2022-09-05
?
POPMUISE

TA贡献1765条经验 获得超5个赞

这与VScode无关。如果您有此文件:


package main

import "fmt"


func main() {

   var a []int

   a = append(a, 1 + 2)

   fmt.Println(a)

}

跑步可以让您:gofmt file.go


package main


import "fmt"


func main() {

        var a []int

        a = append(a, 1+2)

        fmt.Println(a)

}


查看完整回答
反对 回复 2022-09-05
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号