go语言基础知识变量与循环

67 阅读4分钟

简单介绍

go语言是静态语言,静态语言和动态语言相比变量差异很大。go的代码整体还是比较简洁的,采用了c语言的风格。go语言的标准库很丰富,标准库也有很高的稳定性。编译速度快,学习周期比较短。

go语言中的包是一个全局的字符串,通常我们用小写字母组成。一些常用的包导入方法和Java一样都是通过import,不太一样的是在go中main包是程序的入口文件。

变量

  • 变量必须先定义后使用
  • 变量必须有类型
  • 类型定义下来之后不能改变

定义变量的方式:

方式一:

var num int

num = 1

方式二:

var num int = 1 这种方式可以把int去掉直接写成var num = 1,这里大概就是go会通过你给变量赋的值来确定你想让这个变量成为一个什么类型的变量,而无需强调出来。

方式三:

num := 1只需要定义变量名字加一个冒号和一个等号。这种方式还挺简洁的,我们也不需要纠结这个为啥是这个样子,我们就理解这里的冒号替换了var这个关键字。

在定义变量之后发现变量名字下方有一红色波浪线,提示信息是变量未使用。

截图.png

加一个fmt.Println(未使用的变量名)就可以了。在go中,变量名字定义了不使用是不可以的。但是在网上翻阅资料发现,全局变量定义之后不使用并不会报错。这里我们记住就好了,当然我理解的是:局部变量在一个小范围内,一般定义了就是会用到的,提示信息顺便告诉你,假如你定义了用不到的变量,也可以方便的去除掉。而在全局变量中,使用它的并不只是一个函数,也许是多地方需要使用,只是暂时没用上,这种情况下会一直报错,如果有很多全局变量那会很多个错误提示。也许是这样全局变量就可以定义之后不使用也没问题了。

变量的作用域

如果学过Java的朋友们,和Java中变量作用域是一样的。代码块{}中的变量只作用在所在代码块中。

常量

常量对于我们来说并不陌生,就是指定的值,不可以修改,为了符合规范,常量定义尽量全部大写。当然Java中的常量定义,我们有时候是大写字母加下划线组合的。这里我们就尽量全部大写字母一般也是常见的。

关键字const方法和变量是一样的。const NUM int = 100或者把int去掉const NUM = 100这里也是隐式定义,和上面一样都是通过给定的值来判断是什么类型的。

循环

for循环和其它语言差不多,只是不需要加括号()了,for循环的方式:

for i := 0; i < 3; i++ {
    fmt.Println(i)
}

这里i := 0就和Java或者C++中int i = 0是一样的。当然如果i或者其它字符在循环之前就定义好了,那么在go中,for循环的第一个参数就可以省略了。比如:

i := 0
for ; i < 3; i++ {
    fmt.Println(i)
}

当然也可以把第三个参数去掉,在循环里面控制i的加减。如:

i := 0
for ; i < 3; {
    fmt.Println(i)
    i += 1
}

如果都去掉的话,那就是死循环了,因为go中没有while循环,这里就相当于其它语言的while(true)了。比如这样:

i := 1
for {
    fmt.Println(i)
}

如果您是有其它语言的基础,那么这些您肯定也都会,即便不太了解或者说与其它语言的小区别的地方,看一看也就明白了。如果您是刚开始接触编程语言,那您可以多看看网上的资料,多翻阅翻阅书籍,问一问学过的朋友,慢慢来也会明白的。毕竟学编程需要循序渐进,并不是一蹴而就。本人知识能力有限,希望本文章对零基础的编程的您有所帮助。