要学习golang,当然要先配置好相关环境啦。

1. Go 安装包下载

https://studygolang.com/dl
在Windows下,直接下载msi文件,在安装界面选择安装路径,然后一直下一步就行了。

在cmd下输入

go version

即可看到go安装成功

2. Goland安装

https://www.jetbrains.com/go/download/download-thanks.html?platform=windows
在官网下载安装包
在安装界面选择安装路径,然后一直下一步就行了。

3. 变量

Go语言是静态强类型语言,所以变量是有明确类型的。变量实质上就是在内存中的一小块空间,用来存储特定类型的可变数据。如果没有变量我们的程序中只能将数值写死都是静态的数据,我们无法更改,变量可以让我们进行动态的操作。在数学概念中变量表示没有固定的值,可以随时改变的数。 例如:除数,减数与被减数等。

3.1 如何声明变量

声明一个变量的语法为:var name type,例如

var age int     //声明 未赋值默认为0

语句 var age int 声明了一个类型为 int,名称为 age 的变量。在这里我们没有给它赋任何值。如果一个变量没有被赋予任何值,Go 会自动将这个变量初始化为其类型的 0值

3.2 如何赋值

在声明变量时可以指定其初始值。

声明一个带初值的变量的语法为:var name type = initialvalue,例如:

var age int     //声明 未赋值默认为0
age = 18        //赋值//直接根据你所初始化的值,来推导出定义的数据类型
var name = "王钢蛋"
name :="王铁蛋"//简短定义方式  声明并赋值
age := 10
var age = 10

Go语言支持根据数据推导数据类型的方法。所以在定义的时候可以不用写数据类型,直接根据你所初始化的值,来推导出定义的数据类型。如果声明一个变量时提供了初始值,Go可以根据该初始值来自动推导变量的类型。因此如果声明变量时提供了初始值,就可以不必指定其类型。

也就是说,如果声明变量的形式为:var name = initialvalue,Go将根据 initialvalue 自动推导变量 name 的类型。

3.3 多变量定义

多个变量可以在一条语句中声明。

多变量声明的语法为:var name1, name2 type = initialvalue1, initialvalue2,例如:

//var方式声明多变量var a,b,c inta=1 b=2 c=3
//也可以写在一行
var a1,a2,a3 int =10,20,30
//也可以省略类型 根据数据进行类型推导var a1,a2,a3 =10,20,"ago"
//如果是多种类型 也可以使用集合
var(a1 =""a2 =10
)

简短定义方式定义多个变量。 需要注意的是,一个变量在程序中只能够定义一次,重复定义就会报错

3.4 速记声明

Go 提供了另一种简洁的声明变量的方式。这种方式称为速记声明(shorthand declaratiion)。速记声明使用 := 操作符来声明变量。

速记声明的语法为:name := initialvalue,例如:

age := 10age := 10

3.5 匿名变量

匿名变量也就是没有名字的变量, 开发过程中可能会遇到有些变量不是必须的。匿名变量使用下划线" _ " 表示。 “_” 也称为空白标识符,任何类型都可以使用它进行赋值,而且任何类型赋值后都将直接被抛弃,所以在使用匿名变量时,表示后续代码不需要再用此变量

3.6 变量的作用域

变量在程序中有一定的作用范围,如果一个变量声明在函数体的外部,这样的变量被认为是全局变量,全局变量在整个包内,也就是当前的package内都可以被调用得到。如果变量定义在函数体内部,则被称之为局部变量

注意:

  • 相同的作用域内, 无论是全局变量还是局部变量, 都不能出现同名的变量
  • 变量离开作用域就不能使用
  • 局部变量如果没有使用, 编译会报错, 全局变量如果没有使用, 编译不会报错
  • :=只能用于局部变量, 不能用于全局变量
  • :=如果用于同时定义多个变量, 会有退化赋值现象,如果通过:=定义多个变量, 但是多个变量中有的变量已经在前面定义过了, 那么只会对没有定义过的变量执行:=, 而定义过的变量只执行=操作

例如:

num2 := 123
num2, value2 := 456, 789
fmt.Printf("%d, %d", num2, value2)        //456, 789

初探Golang(1)-变量相关推荐

  1. Golang 环境变量须知

    1.前言 无论你是使用 Windows.Linux 还是 Mac 操作系统来开发 Go 应用程序,在安装好 Go 安装语言开发工具之后,都必须配置好 Go 语言开发所要求的 环境变量,才算初步完成 G ...

  2. python中将str转成数字_python初探: 数据类型与变量

    python初探: 数据类型与变量 欢迎来到python之旅的初探,将从最基础开始来了解这个火了很多年的编程语言,是什么让这门语言魔力四射呢?从现在开始一起去探索和发现吧. <<<& ...

  3. golang简短变量声明

    golang简短声明变量只能在函数体内使用,不能在全局使用 package mainimport "fmt"test1 := 1func main(){test2 := 2 fmt ...

  4. Golang之变量去哪儿

    写过C/C++的同学都知道,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程序员.一不小心,就会发生内存泄露,搞得胆战心惊. 切换到Golang后,基本不会担 ...

  5. golang语言变量定义、打印、占位符

    文章目录 题外话 go变量定义 Printf.Println.Print Package fmt 详细介绍 题外话 为什么在有些地方使用go,有些地方使用golang? 两者的关系是什么? 事实上Go ...

  6. 初探Golang(4)-map和流程控制语句

    1.map map 是引用类型的,如果声明没有初始化值,默认是nil.空的切片是可以直接使用的,因为他有对应的底层数组,空的map不能直接使用.需要先make之后才能使用. //1, 声明map 默认 ...

  7. 获取Golang环境变量的三种方式

    环境变量是应用软件参数配置的最佳方式,可以定义系统级,如开发.测试以及生成阶段.配置参数主要有数据库配置.第三方url等.因此环境变量对于开发和部署应用至关重要. 环境变量和配置文件 shell 编程 ...

  8. golang 导出变量、函数 首字母必须大写

    标识符可被 导出 以允许从另一个包访问. 同时符合以下条件即为已导出标识 1.标识符名的第一个字符为Unicode大写字母(Unicode类别"Lu"): 2.该标识符在包块中已声 ...

  9. golang中变量使用情况

    函数体代码中有未使用的变量,则无法通过编译,即使变量声明后为变量赋值,不过全局变量声明但不使用是可以的 package main//import "fmt"var test1 in ...

最新文章

  1. 2017-2018-1 20155321 《信息安全系统设计基础》课下作业3
  2. lenovo L480 进入bios_重装系统重启后不引导,重装系统无法进入引导
  3. access在sql中横向求和_access在sql中横向求和_求和还用Sum函数就out了,快捷键Alt+=一秒搞定,操作简单更高效......
  4. 为啥地址线是20根则存储单元个数为2的20
  5. python爬取12306_python爬取12306的车次信息
  6. Win10还原被Windows Defender隔离的文件
  7. 高性能mysql 小查询_高性能MySql进化论(十一):常见查询语句的优化
  8. bzoj 4010: [HNOI2015]菜肴制作 拓扑排序
  9. git commit报错(husky > commit-msg hook failed)
  10. 谷歌验证码 ReCaptcha 破解
  11. 轻松修复iOS系统的工具:iToolab FixGo mac中文版
  12. java 判断浏览器_Java怎么判断访问者使用的是360浏览器
  13. matlab 复杂曲面,基于MATLAB生成的SCR文件实现AutoCAD中复杂曲线曲面的绘制.pdf
  14. B. Kay and Snowflake(重心的性质)
  15. 百度热力图颜色说明_揭秘!看完徐州城市人口热力图,你就知道该在哪儿买房了...
  16. uniapp打开外部链接
  17. [割点问题]HOJ 12307 Disconnected Pair
  18. 个人逾期,失信黑名单
  19. python在哪里学比较好,python从哪里学起
  20. AutoJs学习-2048全自动

热门文章

  1. Linux系统编程(七)消息队列
  2. c语言中判断一个字符串是否包含另一个字符串
  3. JSP的结构和生命周期
  4. 做了6年的Java,mysql配置环境变量mac
  5. mysql数据库引擎怎么看,值得收藏!
  6. 阿里P8亲自讲解!java分布式需要学什么技术
  7. 使用Docker快速搭建Tensorflow开发环境
  8. WPF中删除打开过的图片
  9. 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
  10. 转 Android的Activity屏幕切换动画(一)-左右滑动切换