Golang/Go语言初学者常见问题
可能挺乱的,以后再整理吧
IDE选择
目前用的是GoLand,感觉还可以。不推荐使用vscode。
vscode需要安装go插件,这个很简单,但之后安装自动提示,调试工具的时候就感觉整个人都不好了,因为安装不上,好像是墙的原因,但是fq后也总是失败,索性不用了。
JetBrains可以申请学生认证,申请一次可以得到一年的全家桶使用权。
GoLand调用同一个目录下另一个文件里的方法
两个文件需要一起编译,可以把两个文件都选上,也可以直接编译包
下面两个图为示例
Go语言格式化输出不能使用 fmt.Println ,要使用 fmt.Printf 。
Go语言进行元素交换可以直接使用以下形式,很简单。
a , b = b , a
Go语言可以直接使用 :=
初始化变量,会自动判断类型。
循环输入可以这样写
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
num , err := strconv.Atoi(scanner.Text())
if err!=nil {
fmt.Println(err)
continue
}
fmt.Println(num)
}
go语言的switch和其他语言不同,break是自动加上的
需要使用fallthrough才能和其他语言一样,如下
var a int =10
switch a {
case 10:
fmt.Println("111")
fallthrough //相当于其他语言不加break
case 1:
fmt.Println("00")
fallthrough
default :fmt.Println("00")
}
switch后面可以不写a,go语言会默认为true