变量是什么,变量的命名规则,以及一些关于变量的基础没有必要再说了,我想学习Go语言的有很多都是从其他语言转过来的,那我们直接进入正题。

声明一个变量: var age int

给变量赋值: age = 10

声明一个变量并给一个初始值: var age int = 3

Go语言是编译型,强类型语言,声明变量必须指定变量类型,不过为什么设计的这么复杂?直接 int age = 3 不行吗?

不过Go语言提供了一种类型推断,变量有初始值的情况下可以由Go自行判断数据类型,比如: var age = 3

同时定义多个变量: var width, height int = 100, 50

还可以同时定义多个不同类型的变量:

var (
user = "root"
pwd string = "123456"
age int = 3
)

这种定义方式在其他语言里从来没有见到过,在实际使用中会有这种需求吗?【思考】

Go语言声明变量似乎要写很长一大串,var开头....。但是Go也提供了一些其他的方式,简短声明,可以很方便的定义变量。

user := "root"
pwd := "123456"
age := 3

无需写var和变量类型,Go会自行处理,当然不同类型的变量也可以写在同一行: user, pwd, age := "root", "123456", 3

同样的给多个不同类型的变量赋值也可以使用这种方式: user, pwd, age := "root", "123456", 3

Go语言的变量暂时就研究到这里吧,还有一点。Go语言是强类型语言,和Lua PHP 这样的语言不同,一个变量定义完毕后就只能是这个类型,这个也很好理解。

在C语言中 int c = 0; c = "abc"; 这样的肯定会报错了,但是PHP中 $c = 0; $c = "abc"; 完全OK。

2. Go变量(Variables)的更多相关文章

  1. 变量 Variables

    是为了存储(store)程序(program)运算过程中的一些信息(informations),为了方便日后调用.操作和更改 变量名应该简明,见名识意,让读者和我们自己能更清晰的了解 如果我们把变量看 ...

  2. kettle参数、变量详细讲解[转]

    kettle 3.2 以前的版本里只有 variable 和 argument,kettle 3.2 中,又引入了 parameter 概念:variable 即environment variabl ...

  3. 深入理解PHP原理之变量作用域

    26 Aug 08 深入理解PHP原理之变量作用域(Scope in PHP)   作者: Laruence(   ) 本文地址: http://www.laruence.com/2008/08/26 ...

  4. 深入理解PHP原理之变量分离/引用

    19 Sep 08 深入理解PHP原理之变量分离/引用(Variables Separation) 作者: Laruence(   ) 本文地址: http://www.laruence.com/20 ...

  5. kettle參数、变量具体解说

    kettle參数.变量具体解说 kettle 3.2 曾经的版本号里仅仅有 variable 和 argument,kettle 3.2 中.又引入了 parameter 概念.variable 即e ...

  6. smarty 从配置文件读取变量

    smarty变量分3种: Variables [变量] Variables assigned from PHP [从PHP分配的变量] Variables loaded from config fil ...

  7. fitnesse - Variables and Symbols

    fitnesse - Variables and Symbols 2017-09-30 目录 1 Variables(静态变量)  1.1 定义及使用  1.2 Variable作用域    1.2. ...

  8. css预编译语言 sass scss(变量$var, css嵌套规则,@import规则,@extend,@mixin)

    什么是sass Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多功能, 并且完全兼容 CSS 语法. Sass 有助于保持大型样式 ...

  9. SQL Server进阶(十一)可编程对象——变量、 批、流元素、 游标

    变量 --------------------------------------------------------------------- -- Variables -------------- ...

随机推荐

  1. https加载非https资源时不出现问题

    老规矩,国服第一博客copy王,原文链接:https://blog.csdn.net/zhengbingmei/article/details/81325325将系统变成了https访问之后,发现部分 ...

  2. 如何在Linux系统下挂载光盘

    工具/原料 Linux 方法/步骤   找到光盘的完整路径名.在命令行输入:ls -l /dev | grep cdrom. 可以看到光盘的名字叫做:cdrom1.然后在命令行执行: mount /d ...

  3. Span<T>和ValueTuple<T>性能是.Net Core非常关键的特性

    Span<T>和ValueTuple<T> 性能是.Net Core一个非常关键的特性,今天我们重点研究一下ValueTuple<T>和Span<T>. ...

  4. 【CH5104】I-country 线性dp+路径输出

    pre:在网格中,凸多边形可以按行(row)分解成若干段连续的区间 [ l , r ] ,且左端点纵坐标的值(col)满足先减后增,右端点纵坐标先增后减. 阶段:根据这个小发现,可以将阶段设置成每一行 ...

  5. PythonStudy——如何使输出不换行

    python 3.x版本打印不换行格式如下: print(x, end="") # end="" 可使输出不换行.双引号之间的内容就是结束的内容, # 可以是空 ...

  6. 如何配置nginx负载均衡配置(轮询,权重,ip绑定)

    集群是为了解决单节点无法服务高并发的情况,在集群中nginx是如何分配将来自客户端的请求 转发给服务器的 负载均衡可以提高网站的吞吐量(接受和响应),减轻单台服务器的压力 负载均衡提供了三种策略:轮询 ...

  7. MYSQL ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.10.210' (111) 解决方法

    今天在测试MySQL的连接时候,发现连接不通过,并报错ERROR 2003 (HY000): Can't connect to mysql server on '192.168.10.210' (11 ...

  8. Linux-Shell基础(变量,字符串,数组)

    一. 什么是shell shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统 ...

  9. Python 爬58同城 城市租房信息

    爬取完会自动生成csv电子表格文件,含有房价.押付.链接等信息 环境 py2.7 pip install lxml pip install cssselect   #coding:utf-8 impo ...

  10. python学习笔记_week28

    heap import heapq import random heap = [] data = list(range(10000)) random.shuffle(data) # for num i ...