(六)golang--变量
什么是变量?
变量相当于内存空间中一个数据存储空间的表示,可以理解为一个门的房牌号;该区域有自己的名称(变量名)和类型(数据类型)
变量的使用步骤:申明--赋值--使用
package main
import "fmt" func main(){
var i int
i = 10
fmt.Println('i=', i)
}
Golang变量的使用有三种方式:
- 指定变量类型,申明后不赋值,使用默认值(int的默认值是0)
var num int
num = 10 - 省略变量类型,根据值自行判断变量类型
var num = 10
- 省略var,注意:=左侧的变量不应该是已经申明了的
num := 10
golang也可以一次性申明多个变量:
var n1,n2,n3 int
var n1, name, n3 = 100, "tom", 888
n1, name, n3 := 100, "tom", 888
变量使用注意事项:
(1)该区域的变量值可以在同一类型范围内不断变化,即不能改变变量的类型(这与Python是有区别的);
(2)变量在同一作用域(在同一个函数或代码块)内不能重名,不能重复申明同一名字的变量;
(3)变量=变量名-值-数据类型;
(4)Golang的变量如果没有赋初值,则会有默认值;
变量数据类型:
(1)基本数据类型
1)数值型:
<1> 整数类型(int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,byte)、浮点类型(float32,float64)
<2> 字符型(没有单个的字符型,使用byte来存储单个字母字符)
<3> 布尔型(bool)
<4> 字符串(string)
(2)派生/复杂数据类型:
<1> 指针 Pointer
<2> 数组
<3> 结构体 struct
<4> 管道 Channel
<5> 函数
<6> 切片 slice
<7> 接口 interface
<8> map
(六)golang--变量的更多相关文章
- golang变量
一.变量的概念 变量是程序的基本组成单位.变量表示内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型).变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门 牌号,通 ...
- golang变量作用域问题-避免使用全局变量
最近遇到了一个变量作用域的问题,一个比较低级的问题,可能作为一个熟手不应该犯这样的低级错误,但是golang的语法特点可能让你稍微不注意就踩坑,嘿嘿. 变量作用域 全局变量的作用域是整个包,局部变量的 ...
- golang变量声明
func main() { var a1 int a1 = 1 var a = 1 b := 1 var c, d int c = 1 d = 1 var e, f = 1, 2 g, h := 1, ...
- 一个有关Golang变量作用域的坑
转自:http://tonybai.com/2015/01/13/a-hole-about-variable-scope-in-golang/ 临近下班前编写和调试一段Golang代码,但运行结果始终 ...
- golang变量与常量
变量 变量 在程序运行中可以改变的量 枚举 var ( a3 = 1 a4 = 2 ) golang不同类型变量不能替换 func main() { var a int = 10 a = 20 a = ...
- GOLANG 变量
语法格式 var 变量名 类型 类型: 可以是go语言内置的各种基本数据类型.复合数据类型,甚至是函数.方法.接口以及自定义类型. 声明变量会给变量设定零值.数值类型变量 ...
- PHP学习心得(六)——变量
PHP 中的变量用一个美元符号后面跟变量名来表示.变量名是区分大小写的.一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线.$this 是一个特殊的变量,它不能被赋值.PH ...
- golang 变量定义
package main import "fmt" var luckyNum = 6 var luckyStr = "love" //myNum := 6 // ...
- Python基础:六、变量和常量
一.变量 1. 变量: 将运算的中间结果暂存到内存,以便后续程序调用 2. 变量的作用: 代指内存里某个地址中保存的内容 3. 变量的命名规则: 1. 变量由字母.数字.下划线搭配组合而成 2. 不可 ...
- golang变量的注意
方法内部的变量使用方法: /* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型 */ vname1, v ...
随机推荐
- Java学习——反射
Java学习——反射 摘要:本文主要讲述了什么是反射,使用反射有什么好处,以及如何使用反射. 部分内容来自以下博客: https://www.cnblogs.com/tech-bird/p/35253 ...
- Flask--g属性
目录 Flask之g属性 使用 session,flash,g的区别 Flask之g属性 专门用来存储用户信息的g对象,g的全称的为global g对象在一次请求中的所有的代码的地方,都是可以使用的 ...
- 在centos7 中docker info报错docker bridge-nf-call-iptables is disabled 的解决方法
在centos7中安装好docker以后,启动成功,运行命令 docker info ,报错: [root@iz2ze2bn5x2wqxdeq65wlpz ~]# docker info Client ...
- 车间如何数字化?MES系统来助力
对于生产过程复杂多变的离散制造企业而言,面临重重考验:生产作业计划频繁变更,制造工艺复杂,在生产过程中的临时插单.材料短缺等现象.通过MES制造执行管理解决方案,搭建协同管理平台,加强控制力.执行力和 ...
- 十五、Mysql字符集的那些事
1. 设置默认字符集 #vim /etc/mysql/my.cnf .(5.5以后系统)如下修改: [client] default-character-set=utf8 [mysqld] defau ...
- 【java集合总结】-- 数组总结+自己封装数组类
一.前言 本篇文章总结目前学习的有关数组方面的知识,首先总结一下数组相关的核心概念,然后在封装一个自己的泛型动态数组类(ava已经封装的有现成的,自己封装只是为了加深理解),最后再学习解析下Array ...
- Code::Blocks 免安装版本下载及配置
在编程的时候选择一款好用的IDE非常重要,对于初学者或需要开发项目的程序员来说更为重要,众多的IDE中 Code::Blocks 是一个不错的选择.Code::Blocks开源.版本多,并且还有免安装 ...
- vue-particles粒子动画插件的使用和爬坑出现垂直滚动条
1下载==>cnpm install vue-particles --save-dev 2引入 注册-->main.js//插件 import VueParticles from 'vue ...
- Mybatis-plus入门学习]
需要的数据库建表语句: #创建用户表 CREATE TABLE user ( id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键', name VARCHAR ...
- 201871010128-杨丽霞《面向对象程序设计(java)》第八周学习总结
201871010128-杨丽霞<面向对象程序设计(java)>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...