在上一节中提到了值类型,但是他们都是写在输出语句里的,如果后面程序需要用的话就显得非常的不方便,所以更好的办法就是把它们定义成变量,然后在调用。

变量

和Python不同的是,Go语言中的变量是需要的显示的声明出来的一般会使用var关键字进行声明,GO编译器会在编译的时候检查其正确性,如果你写错可是运行不起来的,

另外go语言还有一个特点,定义了的东西就要去使用,如果定义了不使用,在编译的时候也是会报错的哦。

Go语言的变量声明有多种方法,用的最多的是下面两种:

1.可以使用关键字var显示的指出变量的类型,然后稍后再为其赋值,也可以直接为其赋值。

使用var声明变量

其格式为:

关键字var+变量如果多个使用,间隔+变量类型

下面看具体情况:

var a int

像上面的代码,如果只是声明了不用,那么编译器会报错,

var b int
fmt.Println(b)

这里声明了,虽然没赋值但是后面使用了,在Go中如果打印没有赋值的声明变量,会输出对应类型的零值,因为b类型为int,所以会输出0。

var c,d string ="ok","let's go"
fmt.Println(c,d)

同样的Go还支持多变量赋值。

短变量

第二种声明变量的方法,称之为短变量声明(在Python3.8也加入了这个符号,称之为海马运算符)

f:=bool
fmt.Println(f)

代码示例

最后来一个综合示例

package main
import "fmt"
func main() {
// var a string = "hello" 如果定义了不使用编译器出提示错误
var b, c int = 3, 4 //使用var 关键字可以同时定义多个变量,记得最后指定类型
fmt.Println(b, c)
var d = true
fmt.Println(d)
var e int
fmt.Println(e)
f := "hello dj"
fmt.Println(f)
}

对应的Python代码如下:

def main():
# a = "hello" 如果定义了不使用也没事
b, c = 3, 4 #可以同时定义多个变量,不用指定类型
print(b, c)
d = True #Ture,首字母要大写
print(d)
#e 不允许声明了不赋值
#print(e)
print(f := 1>2) #需要Python3.8支持,一般都是赋值之后进行判断操作,Pycharm解释器会提示错误。 if __name__ == '__main__':
main()

总结

  • Go是静态语言,Python是动态语言。
  • 静态语言一般需要先编译,然后运行。
  • 动态语言运行时编译。对于变量类型在运行时会解析。

最新文章

  1. hdu4951 Multiplication table (乘法表的奥秘)
  2. 49. Search in Rotated Sorted Array && Search in Rotated Sorted Array II
  3. bzoj4109: [Wf2015]Cutting Cheese
  4. 如何使用 Java 测试 IBM Systems Director 的 REST API
  5. 【CF492E】【数学】Vanya and Field
  6. python 代码格式化工具:YAPF
  7. Linux下查看使用频率最高的十个命令
  8. Mac下持久化路由配置
  9. Nginx 过滤sub模块
  10. 分布式系统里session同步
  11. C++:如何正确的定义一个接口类
  12. base64详解及实现
  13. 200. Spring Boot JNDI:在Tomcat中怎么玩JNDI?
  14. 阿里云视频直播PHP-SDK
  15. chfn是用来改变你的finger讯息
  16. ETCD应用
  17. 『MXNet』第六弹_Gluon性能提升
  18. Maven项目main和test文件夹说明
  19. PAT 甲级 1090 Highest Price in Supply Chain
  20. BZOJ4912 [Sdoi2017]天才黑客 【虚树 + 最短路】

热门文章

  1. 远程 Linux(Ubuntu 18)添加字体
  2. 【前端开发】】js中var写和不写的区别
  3. 探究Java如何实现原子操作(atomic operation)
  4. word中快捷键查看与设定
  5. vue项目 npm install 安装依赖 特别慢 解决办法
  6. python中实现一个简单的进度条
  7. 泛型 System.Collections.Generic及泛型继承、运算符、结构、接口、方法、委托、事件、可空类型等
  8. Web前端 --- 前端基础简介
  9. Python爬虫:BeautifulSoup用法总结
  10. MongoDB journal 与 oplog,究竟谁先写入?