用Go写完Hello World,一些须要注意的地方

序言

Go但是说是近几年比较火的语言了,目前版本已经到了1.13,若是说有其余语言的基础,学习Go仍是挺简单的。这篇文章主要是总结一些,和其余语言可能会不同的地方。python

多返回值

以前若是一个方法像返回多个值的话,也是有相应的办法,好比 PythonJavascriptsegmentfault

  • Python
def fc()
    return (1,"2",3);

v1,v2,v3 = fc();
  • Javascript
function fc(){
    return {1,"2",3}
}
let {v1,v2,v3} = fc()

再来看看Go的多返回值例子函数

func fc() (int, string, int) {
    return 1, "2", 3
}

在静态类型的帮助下,整个方法相对清晰一些,多返回值在Go程序中会常常遇到,尤为当方法要同时返回一个错误的时候。学习

自带的格式化代码方法

Go里面提供了一个go fmt,装完Go环境之后,而且配置好环境变量之后,你可使用go fmt main.go来格式化代码code

升级版的if

通常用ifip

if 1 == 1 {
}

为何说goif是升级过的呢get

if count := 10; count < 10 {
}

代码中能够在if中进行赋值操做,其实还能够进行函数调用,数学运算。数学

使用go module 管理依赖

这篇文章在编写的时候go 1.13已经发布了,在go 1.11中带来了新的包管理方式go module
1.11以前,我用过的是dep,这种方式仍是脱离不了go path,也就是你须要把项目放在go path下。
使用go module就能够脱离go path,你能够把你的项目随意的放在你想放的地方。
你能够参照这篇文章来学习go modulestring

没有while循环

在我所接触过Go之外的的计算机高级语言中,都会提供两种循环,forwhile
Gofor循环是能够不带参数的,以下io

for {
}

这时候就是一个死循环了,若是带参数的话,和大多数语言是同样的

for i := 1; i < 10; i++ {

}

没有 ++i,--i

这个的话好像也无伤大雅。

没有三元运算符

没有三元运算符这个貌似挺难受的,对于我这种习惯偷懒的人来讲,意味着要用长长的if else来替代,这是写代码的角度。

相关文章
相关标签/搜索