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 ...
随机推荐
- python虚拟环境安装使用
# 安装 pip install virtualenv pip install virtualenvwrapper-win # win环境下 liunx下不需要-win #创建一个文件夹并cd进去mk ...
- JavaMail(二):利用JavaMail发送复杂邮件
上一篇文章我们学习了利用JavaMail发送简单邮件,这篇文章我们利用JavaMail发送稍微复杂一点的邮件(包含文本.图片.附件).这里只贴出核心代码,其余代码可参考JavaMail(一):利用Ja ...
- Vue2.0 【第二季】第3节 Vue.set全局操作
目录 Vue2.0 [第二季]第3节 Vue.set全局操作 第3节:Vue.set全局操作 一.引用构造器外部数据 二.在外部改变数据的三种方法: 三.为什么要有Vue.set的存在? Vue2.0 ...
- 【Python】2.19学习笔记 成员运算符,身份运算符,运算符优先级
成员运算符 暂时不会用,等学链表时再补充 \(in\) 与 \(not in\) \(in\):如果在指定序列中找到指定值,则返回\(true\) \(not in\):如果在指定序列中找到指定值,则 ...
- linux相关的帮助文档
几乎所有linux发行版都会提供大量的有用的文档. 手册页 linux发行版包含了有关常用命令.系统调用和库函数的手册页.手册页被分成不同的章节并分别标以序号: Section 名称 ...
- Cinemachine中噪音的应用
两种默认产生噪音的方式 Nosie阶段的Component Component在流水线中主要通过MuteCameraState来处理对State的计算. 对于Noise类型的Component ...
- 【译】HTTP/2 为更快速的网站而生
最近在做一个内部的服务对接,使用了Google的gRPC框架,gRPC是基于HTTP/2和protocol buffers实现的,所以额外去了解了一下HTTP/2,找到这这边文章.这篇文章虽然是写于2 ...
- 暴力+辗转相除法——N个数求和
题目来源 PTA 团体程序设计天梯赛-练习集 L1-009 N个数求和 (20分) https://pintia.cn/problem-sets/994805046380707840/problems ...
- 学习scrapy爬虫框架的一些经验和教训
首先python的scrapy框架很好,功能强大,使用起来也很方便,省去了很多造轮子的时间.在学习的过程中也碰到了一些问题,在这里希望能分享与大家分享,做一个参考 1.安装(pip延时响应问题) sc ...
- 【限时免费】AppBoxCore - 细粒度权限管理框架(EFCore+RazorPages+async/await)!
目录 前言 全新AppBoxCore RazorPages 和 TagHelpers 技术架构 页面处理器和数据库操作的异步调用 Authorize特性和自定义权限验证过滤器 Authorize登录授 ...