变量的定义与赋值


在go笔记系列开始之前,我强烈建议大家使用Goland的IDM,配合vscode使用真的非常亲民。

1.go程序基本结构

首先,是go程序的基本结构,主要有package引入包、import调用和func定义函数。例:

  1. package main
  2. //使用ctrl + /可以快速注释
  3. import "fmt"
  4.  
  5. func main() {
  6. fmt.println("hello world!")
  7. } //使用/* */可以多行注释

其中,import导入了系统所需要的包(fmt即format,标准输入输出格式包)。

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

2.函数的定义方式(包含变量声明与定义):

观摩此段代码:

  1. func main() {
  2. //##变量的定义和赋值
  3. //#声明var 变量名 数据类型
  4. var a int
  5. //#定义/赋值 " = "
  6. a = // <-如果没有初始值,则自动为" 0 "
  7. fmt.Println(a)
  8. //数据类型:布尔型、整型、浮点型、字符型、字符串类型
  9. }

一个函数的基本结构就是

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

  1. fmt.Println("面积为:",S)
  2. fmt.Println("周长为:",G)

如果想暂时不适用函数可以改变func main() {}的main为其他,这样package引入的main找到主函数不是该函数自然不会运行,这里我习惯在main后面添加数字表示顺序。

3.顺便提一下全局变量

全局变量顾名思义,定义在函数外头,因为影响范围特别大,不需要考虑要不要声明在函数之前,如下:

  1. //关于全局变量的定义
  2. func main4567() {
  3. fmt.Println(a) //全局变量影响范围特别大 一般不会受顺序影响
  4. }
  5.  
  6. var a int =

4.全局代码预览

Go语言笔记(1)变量的定义与赋值的更多相关文章

  1. Go语言笔记 (2) 变量命名与多重赋值

    变量命名 1.大小写 观摩以下代码: func main() { var m int = "你" var M int = "我" fmt.Println(m,M ...

  2. ES6学习笔记之变量的解构赋值

    变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...

  3. Mysql 临时变量的 定义 和 赋值 Set 和 Into 赋值; Swith Mysql版本 Case When的用法

    一:临时变量的定义和赋值 DECLARE spot SMALLINT; -- 分隔符的位置 DECLARE tempId VARCHAR(64); -- 循环 需要用到的临时的Cid DECLARE ...

  4. go变量的定义并赋值

    变量在定义时没有明确的初始化时会赋值为_零值_. 零值是: 数值类型为 `0`, 布尔类型为 `false`, 字符串为 `""`(空字符串). package main impo ...

  5. Makefile笔记之一 ------ 变量的引用及赋值

    1.变量的引用方式: "$(变量名)"或者"¥{变量名}" 例如: ${Objs}就是取变量Objs的值 注意: 当变量名为单字符是可以采用:"$a& ...

  6. SQL SERVER中变量的定义、赋值与使用

      本文面向对SQL SERVER中变量操作不熟悉的用户,希望能使他们在看完本文后能对变量操作有具体和全面的认识.   在学习SQL SERVER的过程中,很多时候需要对某些单独的值进行调试,这时就需 ...

  7. Oracle变量的定义、赋值及使用

    首先我们来看看代码,然后我们在说明和解释代码: declare l_dept ; currtime date := sysdate; l_nam ) :),'yyyymmdd'); -- to_cha ...

  8. oracle 的变量的定义和赋值

    第一种 :先定义后赋值 代码 : declare     V_AgeingType        varchar2(500); begin V_AgeingType :='111'; end 第二种 ...

  9. Go语言学习笔记1 变量,类型以及赋值

    1.变量 1.1 声明变量 使用var关键字可以创建一个指定类型的变量: var i int = 0 var i = 0 var i int 以上三个表达式均是合法的,第三个表达式会将i初始化为int ...

随机推荐

  1. python使用while循环实现九九乘法表

    a = 1while a <= 9: b = 1 while b <= a: print("%d*%d=%d\t" % (b, a, a * b), end=" ...

  2. vs code开发python时找不到当前目录下的文件、UnicodeDecodeError: 'gbk'

    一.vs code开发python时找不到当前目录下的文件, file = open("readme.txt")一直报错,找不到目录下面的文件 原来vscode 默认都是以打开的项 ...

  3. 如何找回微信小程序源码?2020年微信小程序反编译最新教程 小宇子李

    前言:在网上看了找回微信小程序源码很多教程,都没法正常使用.微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题.查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程. 本文章仅 ...

  4. c strncpy 容易出错的地方

    使用strncpy的是注意两点,目的是数组和目的是指针 .目的是数组: ] = "abcde"; // ] = "; strncpy(dest,src,N); dest[ ...

  5. Spring扩展:替换IOC容器中的Bean组件 -- @Replace注解

    1.背景:     工作中是否有这样的场景?一个软件系统会同时有多个不同版本部署,比如我现在做的IM系统,同时又作为公司的技术输出给其他银行,不同的银行有自己的业务实现(比如登陆验证.用户信息查询等) ...

  6. java之AQS和显式锁

    本次内容主要介绍AQS.AQS的设计及使用.ReentrantLock.ReentrantReadWriteLock以及手写一个可重入独占锁 1.什么是AQS? AQS,队列同步器AbstractQu ...

  7. git常用命令学习配详细说明

    原文链接 把当前目录变成Git可以管理的仓库 git init 查看仓库当前的状态 git status 添加新/变动文件 git add <文件名> // 添加某个新文件(目录) git ...

  8. Journal of Proteome Research | Proteomic Profiling of Rhabdomyosarcoma-Derived Exosomes Yield Insights into Their Functional Role in Paracrine Signaling (解读人:孙国莹)

    文献名:Proteomic Profiling of Rhabdomyosarcoma-Derived Exosomes Yield Insights into Their Functional Ro ...

  9. Centos7配置IP地址和DNS

    目录 一.查看IP地址 1.ifconfig命令 2.ip addr命令 二.配置网卡 1.动态IP地址 2.静态IP地址 3.重启网卡 三.注意事项 四.本地虚拟机设置静态IP后不能上网的解决方法 ...

  10. [最短路,floyd] Codeforces 1202B You Are Given a Decimal String...

    题目:http://codeforces.com/contest/1202/problem/B B. You Are Given a Decimal String... time limit per ...