变量

package main

import "fmt"

/*
变量:variable
概念:一小块内存,用于存储数据,在程序运行过程中数值可以改变
特性:静态语言,强类型语言
*/
func main() {
//使用:
//一、变量的声明,也叫定义 //第一种:定义变量,然后进行赋值
var num1 int //var 变量名 数据类型
num1 = 30 //变量名 = 赋值
//写在一行
var num2 int = 15 //var 变量名 数据类型 = 赋值
fmt.Printf("num1的数值是:%d\n", num1)
fmt.Printf("num2的数值是:%d\n", num2) //第二种:类型推断,省略数据类型
var name = "小李" //var 变量名 = 赋值
fmt.Printf("类型是:%T,数值是:%s\n", name, name) //第三种:简短定义,也叫简短声明,省略var
sum := 100 //变量名 := 赋值
fmt.Println(sum) //多个变量同时定义
var a, b, c int
a = 1
b = 2
c = 3
fmt.Println(a, b, c) var m, n int = 4, 5
fmt.Println(m, n) var (
sname = "小张"
age = 18
sex = "男"
)
fmt.Printf("姓名:%s,年龄:%d,性别:%s\n", sname, age, sex) //二、变量的访问,赋值和取值
/*
注意点:
1.变量必须先定义才能使用
2.变量的类型和赋值必须一致
3.同一个作用域内,变量名不能冲突
4.简短定义的方式,左边的变量至少有一个是新的
5.简短定义不能定义全局变量
*/
var num int
num = 100
fmt.Printf("num的数值是:%d,地址是:%p\n", num, &num)
num = 200
fmt.Printf("num的数值是:%d,地址是:%p\n", num, &num) //6.变量的零值,也叫默认值。
var s1 int //0
var s2 float64 //0.0,简写成0
var s3 string //""
var s4 []int //nil
fmt.Println(s1, s2, s3)
fmt.Println(s4 == nil) //7.变量定义了就要使用
}

num1的数值是:30

num2的数值是:15

类型是:string,数值是:小李

100

1 2 3

4 5

姓名:小张,年龄:18,性别:男

num的数值是:100,地址是:0xc0000ac098

num的数值是:200,地址是:0xc0000ac098

0 0

true

常量

package main

import "fmt"

/*
常量:
1.概念:同变量类似,程序执行过程种数值不能改变
2.语法:
显式类型定义
隐式类型定义
3.常数:
固定的数值:100,"abc"
*/
func main() { //使用:
//1.定义常量
const PATH string = "baidu.com"
const PI = 3.14 //2.定义一组常量
const C1, C2, C3 = 100, 3.14, "hello"
const (
MALE = 0
FEMALE = 1
UNKNOW = 3
) //3.一组常量中,如果某个常量没有初始值,默认和上一行一致
const (
a int = 100
b
)
fmt.Printf("%T,%d\n", a, a)
fmt.Printf("%T,%d\n", b, b) //4.枚举类型:使用常量组作为枚举类型,一组相关数值的数据
const (
SPRING = 0
SUMMER = 1
AUTUMN = 2
WINTER = 3
) //注意事项:
//常量中的数据类型只可以是布尔型、数字型(整数、浮点、复数)和字符串型。
//不曾使用的常量,编译不会报错。
//赋值与常量类型必须一致。
}

int,100

int,100

iota

package main

import "fmt"

/*
iota:特殊常量,可以认为是一个可以被编译器修改的常量。
每当定义一个const,iota的初始值为0;
每当定义一个常量,就会自动累加1;
直到下一个const出现,清零
*/
func main() { const (
a = iota //0
b = iota //1
c = iota //2
)
const (
d = iota //0
e //1
)
fmt.Println(a, b, c)
fmt.Println(d, e) const (
A = iota //0
B = "haha" //iota=1
C //C="haha",iota=2
D = iota //3
E //4
)
fmt.Println(A, B, C, D, E)
}

0 1 2

0 1

0 haha haha 3 4

go基础——变量与常量的更多相关文章

  1. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  2. JAVA基础——变量和常量

    JAVA的变量和常量知识总结 一.认识java标识符 标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 使用标识符时,需要遵守几条规则: 1.  标识符可以由字母.数字.下划线(_).美 ...

  3. 003-python基础-变量与常量

    一.变量的定义 变量就是用来在程序运行期间存储各种需要临时保存可以不断改变的数据的标示符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值. 二.变量的声明 #!/u ...

  4. JavaScript -基础- 变量、常量

    一.变量 <script> var a=1 var b=3 var a= 1;   //使用var 定义变量,分号结尾(可不加,换行符也可) var b=3; var a= 1; var ...

  5. JAVA基础——变量、常量

    变量 java中,变量时最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型. 变量名必须是合法的标识符 变量声明时一条完整的语句 ...

  6. Java基础——变量与常量及命名规范

    变量 ()  public class Demon04{     //类变量 static     static double salary=2500;     //属性: 变量 ​     //实例 ...

  7. go 基础 变量和常量

    package main import "fmt" //全局变量,赋值 var( PI float32 = 3.1415 Count ) //全局变量,无值 var( x stri ...

  8. Oracle基础 PL-SQL编程基础(1) 变量和常量

    一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...

  9. javascript 概述及基础知识点(变量,常量,运算符,数据类型)

    JavaScript概述 1.1 什么是JavaScript: javaScript(简称js),是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.同时也是一种广泛用于客户端Web开发的脚本语 ...

随机推荐

  1. nexus私服SNAPSHOT仓库maven-metadata.xml缺失导致的Could not find artifact:***.jar

    环境:maven项目,使用Nexus私服(ip:192.168.10.100),jenkins实现代码的编译和打包. 问题分析思路:在2021年元旦假期前,jenkins上的编译打包任务一直正常工作, ...

  2. 【Redhat系列linux防火墙工具】firewalld与iptables防火墙工具的激烈碰撞

    前言 iptables与firewalld防火墙管理工具在linux发行版Redhat7系列使用较为广泛. UFW则是在linux发行版Ubuntu下进行管理防火墙的一款管理工具. 在选用防火墙工具的 ...

  3. linux(CentOS7) 之 MySQL 5.7.30 下载及安装

    一.下载 1.百度搜索mysql,进入官网(或直接进入官网https://www.mysql.com) 2.选择 downloads 3.翻到最下面,选择MySQL Community (GPL) D ...

  4. 可观察对象(Observable)

    最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...

  5. react中自定义antd主题与支持less(第二部)

    自定义主题 首先自定义主题需要修改antd,antd本身也是less写的之后编译成css的,所以当我们需要使用less. 1.yarn add react-app-rewire-less --dev ...

  6. markdown mermaid状态图

    状态图 状态图是一种用于计算机科学和相关领域描述系统行为的图.状态图要求描述的系统由有限数量的状态组成. 语法: stateDiagram-v2 [*] --> Still Still --&g ...

  7. python极简教程06:生成式和装饰器

    测试奇谭,BUG不见. 这一场,主讲python的生成式和装饰器. 目的:掌握四种生成式(列表.生成器.集合.字典),装饰器的原理和使用. 生成式 01 什么是生成式? 能够用一行代码,快速高效的生成 ...

  8. 关于Jmeter线程数Ramp-Up.循环次数的理解和实验数据

    1. 关于线程组参数 线程组:即一个线程组实例里面包括多个串行的请求或动作.一个线程组的从启动到结束的时间取决于你线程中的步骤数量. 线程数:即用户数,在Ramp-up时间内(包括循环),简单把线程数 ...

  9. [开发笔记usbTOcan]软件需求分析和软件架构设计

    前面文章进行了系统分析和系统架构设计,手工焊接了一个板子,集合EK-TMC123GXL开发板(请忽略焊接技术) SWE.1 | 软件需求分析 软件需求分析过程的目的是将系统需求的软件相关部分转化为一组 ...

  10. Mybatis 学习记录

    1.先放上mybatis官网地址: https://mybatis.org/mybatis-3/zh/index.html 2.mybatis源码和有关包下载地址(GitHub): https://g ...