Go语言笔记(1)变量的定义与赋值
变量的定义与赋值
在go笔记系列开始之前,我强烈建议大家使用Goland的IDM,配合vscode使用真的非常亲民。
1.go程序基本结构
首先,是go程序的基本结构,主要有package引入包、import调用和func定义函数。例:
package main
//使用ctrl + /可以快速注释
import "fmt" func main() {
fmt.println("hello world!")
} //使用/* */可以多行注释
其中,import导入了系统所需要的包(fmt即format,标准输入输出格式包)。

当然,go语言不会要求你在敲写代码的时候必须手动引入系统需要的包,在函数中使用包的功能时,会自动弹出,并且自动写上该有的import语句。

2.函数的定义方式(包含变量声明与定义):
观摩此段代码:
func main() {
//##变量的定义和赋值
//#声明var 变量名 数据类型
var a int
//#定义/赋值 " = "
a = // <-如果没有初始值,则自动为" 0 "
fmt.Println(a)
//数据类型:布尔型、整型、浮点型、字符型、字符串类型
}
一个函数的基本结构就是

此处,我们在函数中尝试声明go语言生涯中的第一个变量,使用的是 var name type,name处填写变量的名字,type处显而易见是变量类型。当然,我们也可以用小学二年级就学过的右值左传法为变量赋值(var a int = 1),如果声明变量后没有赋值,则保持值为零(图中我们赋值10给变量a)。经过fmt.Println(a)终端显示10。(如果要打印多个内容请将字符型数据用引号括起来,跟一个逗号,然后接上其他数据,如下图的下方代码)

fmt.Println("面积为:",S)
fmt.Println("周长为:",G)
如果想暂时不适用函数可以改变func main() {}的main为其他,这样package引入的main找到主函数不是该函数自然不会运行,这里我习惯在main后面添加数字表示顺序。
3.顺便提一下全局变量
全局变量顾名思义,定义在函数外头,因为影响范围特别大,不需要考虑要不要声明在函数之前,如下:
//关于全局变量的定义
func main4567() {
fmt.Println(a) //全局变量影响范围特别大 一般不会受顺序影响
} var a int =
4.全局代码预览

Go语言笔记(1)变量的定义与赋值的更多相关文章
- Go语言笔记 (2) 变量命名与多重赋值
变量命名 1.大小写 观摩以下代码: func main() { var m int = "你" var M int = "我" fmt.Println(m,M ...
- ES6学习笔记之变量的解构赋值
变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...
- Mysql 临时变量的 定义 和 赋值 Set 和 Into 赋值; Swith Mysql版本 Case When的用法
一:临时变量的定义和赋值 DECLARE spot SMALLINT; -- 分隔符的位置 DECLARE tempId VARCHAR(64); -- 循环 需要用到的临时的Cid DECLARE ...
- go变量的定义并赋值
变量在定义时没有明确的初始化时会赋值为_零值_. 零值是: 数值类型为 `0`, 布尔类型为 `false`, 字符串为 `""`(空字符串). package main impo ...
- Makefile笔记之一 ------ 变量的引用及赋值
1.变量的引用方式: "$(变量名)"或者"¥{变量名}" 例如: ${Objs}就是取变量Objs的值 注意: 当变量名为单字符是可以采用:"$a& ...
- SQL SERVER中变量的定义、赋值与使用
本文面向对SQL SERVER中变量操作不熟悉的用户,希望能使他们在看完本文后能对变量操作有具体和全面的认识. 在学习SQL SERVER的过程中,很多时候需要对某些单独的值进行调试,这时就需 ...
- Oracle变量的定义、赋值及使用
首先我们来看看代码,然后我们在说明和解释代码: declare l_dept ; currtime date := sysdate; l_nam ) :),'yyyymmdd'); -- to_cha ...
- oracle 的变量的定义和赋值
第一种 :先定义后赋值 代码 : declare V_AgeingType varchar2(500); begin V_AgeingType :='111'; end 第二种 ...
- Go语言学习笔记1 变量,类型以及赋值
1.变量 1.1 声明变量 使用var关键字可以创建一个指定类型的变量: var i int = 0 var i = 0 var i int 以上三个表达式均是合法的,第三个表达式会将i初始化为int ...
随机推荐
- 【S2-053】Struts2远程命令执行漏洞(CVE-2017-12611)
继S2-052之后,Apache Struts 2再次被曝存在远程代码执行漏洞,漏洞编号S2-053,CVE编号CVE-2017-1000112. 当开发人员在Freemarker标签中使用错误的构造 ...
- 【音视频连载-001】基础学习篇- SDL 介绍以及工程配置
技术开发故事会连载 这是音视频基础学习系列的第一篇文章,主要讲解 SDL 是什么以及为什么要用到它,看似和音视频没啥卵关系,其实必不可少. SDL 简介 SDL 是 "Simple Dire ...
- selenium基本对象之——数值型
python的数值类型,除了魔法方法以为,只有下面的这些方法: 整形的方法有:as_integer_ratio.bit_length.from_bytes.to_bytes.conjugate.ima ...
- C语言程序设计(五) 选择控制结构
第五章 选择控制结构 分治策略:任务分解细化 程序设计语言:为了让计算机执行由高级语言编写的程序指令,必须把这些指令从高级语言形式转换成计算机能理解的机器语言形式,这种转换是由编译器来完成的 算法:为 ...
- [JS]使用JavaScript实现简易俄罗斯方块
[JS]使用JavaScript实现简易俄罗斯方块 首先,大家可以点击此处来预览一下游戏效果,随后将会以此为模板讲解如何使用JavaScript实现这样一个简易的俄罗斯方块项目(以下简称"该 ...
- Leetcode_面试题 17.24. 最大子矩阵
最大子矩阵问题,n是200,枚举上下行,O(N)求一下最大子段和. code class Solution { public: vector<int> getMaxMatrix(vecto ...
- 深入分析mysql为什么不推荐使用uuid或者雪花id作为主键
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建 ...
- [极客大挑战 2019]BabySQL 1
考点就是一系列的sql注入操作 和 replace函数过滤 进入页面如图 基础过滤测试 union .select .information_schema试试有没有被过滤 ?username=ad ...
- 阿里云服务器安装Docker
在阿里云服务器上安装Docker,服务器的系统是CentOS 7.6, 所以可以看官方Docker安装文档:https://docs.docker.com/install/linux/docker-c ...
- CVE-2019-3396:Confluence未授权模板注入_代码执行
title: Confluence未授权模板注入/代码执行(CVE-2019-3396) tags: [poc,cve] 简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企 ...