golang基础教程(三)、变量与数据类型概述

30 篇文章 19 订阅
订阅专栏

golang基础教程

一、变量

变量的介绍

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门
牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量
(值)

变量的使用步骤

  1. 声明变量(也叫:定义变量)
  2. 非变量赋值
  3. 使用变量

二、go中变量的使用

1、变量的声明,初始化和赋值

在这里插入图片描述

2、三种使用方式

2.1 指定变量类型,声明后若不赋值,使用默认值

package main

import "fmt"

func main() {
	var num int
	var num1 int = 20
	fmt.Println(num,num1)
}

输出:

0 20

2.2. 根据值自行判定变量类型(类型推导)
可以省略变量的类型,由编译器在编译时根据所赋的值推导出变量的类型(这个需要赋值才能省略

package main

import "fmt"

func main() {
	//单独定义
	var num int
	var	num1  = 20
	var	num2  = 30
	fmt.Println(num,num1,num2)
}

2.3. 省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误

package main

import "fmt"

func main() {
	//num变量在此之前不能被声明或定义
	num := 10
	fmt.Println(num)
}
3、批量定义

在编程中,有时我们需要一次性声明多个变量,Golang 也提供这样的语法
在这里插入图片描述

三、数据类型

在go的数据类型可以分为基本数据类型、复杂数据类型两种;按照值得传递又可以分为值传递和引用传递
在这里插入图片描述
值类型和引用类型的使用特点

  1. 值类型:变量直接存储值,内存通常在栈中分配
    示意图:
    在这里插入图片描述
  2. 引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆
    上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由 GC 来回收
    示意图:
    在这里插入图片描述
  3. 内存的栈区和堆区示意图
    在这里插入图片描述
Golang入门-数据类型
01-07
程序实体         任何Go语言源码文件都由若干个程序实体组成的,再Go语言中,变量,常量,函数,结构体和接口统称为“程序实体”,而它们的名字统称为“标识符”。         标识符可以是任何unicode编码可以表示的字母字符,数字以及下划线“_”。不过,首字母不能是数字或下划线。 关键字 变量和常量       变量使用关键字 var ,常量使用关键字const,常量只能被赋予基本数据类型本身        var num int = 1                           //初始化赋值        var num int                   
namelessup#golang#01-标识符与数据类型1
07-25
1.1 关键字(25个) 1.2 预定义名字(30+个) 2.1 变量声明 2.2 多变量声明 2.3 零值机制 2.4 变量值互换 2.5 _丢弃变量 2.6
Go语言函数参数传递类型详解
bingshiwuyu的专栏
06-30 1638
go语言函数参数传递类型详解到底是值传递还是引用传递?什么是值传递什么是传引用(引用传递) 到底是值传递还是引用传递golang默认都是值传递引用,无论参数是指针还是普通参数传递,默认都是值拷贝传递 什么是值传递 函数传递的总是原来这个东西的一个副本,一副拷贝。比如我们传递一个int类型的参数,传递的其实是这个参数的一个副本;传递一个指针类型的参数,其实传递的是这个该指针的一份拷贝,而不是这个指针指向的值。 在网上看了一篇帖子,自己实际操作了进行验证,以int类型的数据进行验证,代码如下 func mo
2024年Go最全【LeetCode刷题日记】507(1),Golang初级开发是如何一步步成为高级开发
最新发布
2401_84924721的博客
05-15 239
链接:https://leetcode-cn.com/problems/perfect-number。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1, 2, 4, 7, 和 14 是 28 的所有正因子。解释:28 = 1 + 2 + 4 + 7 + 14。来源:力扣(LeetCode)输入:num = 8128。输入:num = 496。输入:num = 6。输入:num = 2。
Golang中的变量类型
CamelGem
07-05 401
第4部分:类型 这是Golang教程系列中的第4个教程。 请阅读Golang教程第3部分:本系列的变量,以了解变量。 以下是可使用的基本类型 布尔 数值类型 int8,int16,int32,int64,int uint8,uint16,uint32,uint64,uint float32,float64 complex64,complex128 字节 rune 字符串 布尔 布尔类型表示布尔值,可以为true或false。 package main import "fmt" func main()
Golang学习笔记 数据类型变量
乐百川
06-01 2928
数据类型先来介绍一下Golang数据类型。布尔型bool类型代表逻辑值,有真值true和假值false两种取值。整数类型整数类型有如下几种,这些整数都是有符号的类型,它们的无符号版本是类型名前面添加u,例如uint32。 类型 长度 int8 1字节 int16 2字节 int32 4字节 int64 8字节 除此以外,还有比较特殊的几种类型类型
Golang——变量类型
Gopher
12-25 260
目录 声明和使用变量(go要求使用者声明的变量必须使用,否则会报错) 声明变量 初始化变量 声明常量 声明和使用变量(go要求使用者声明的变量必须使用,否则会报错) 声明变量 若要声明变量,需要使用 var 关键字: var a int//声明一个int型的名为a的变量 var b,c string//声明两个类型相同的变量时,可在一行实现 同时,可以通过一个“块”来声明变量: var( a int b,c string ) 初始化变量 在声明变量时,你可能需要为...
02 Golang变量数据类型
zhangxm_qz的博客
03-05 273
文章目录变量的定义及使用数据类型整型浮点型 变量的定义及使用 变量定义语法: var 变量名 数据类型 局部变量:定义在语句块中(如方法)的变量 全局变量:定义在语句块外的变量 变量声明方式: 指定变量类型,声明后如果不赋值则使用默认值 根据值自行判断变量类型 省略var 使用 := 赋值,左侧变量不能是已经声明过的,否则报错 支持多变量声明(局部变量和全局变量都支持),见示例代码 示例代码 //全局变量声明 var gn1 = 100 var gn2 = "jack" //一次声明多个全局变量 var
Golang变量数据类型
m0_56719679的博客
04-19 541
2).反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击,输出源代码的效果。4.在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。说明 :1.如果我们保存的字符在ASCLL表的,比如[0-1,a-z,A-Z]直接可以保存到byte。6.字符类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。存储:字符-->对应码值--->二进制----->存储。读取:二进制-->码值---->字符---->读取。3.Go语言的字符使用UTF-8编码。
Golang学习 【day1】变量类型
weixin_44048140的博客
03-31 743
go语言冲冲冲
详解Golang编程中的常量与变量
01-20
常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还有枚举常量。 常量是一样,只是它们的值不能自己定义后进行修改常规变量处理。 整型常量 一个整数文字可以是十进制,八进制,...
golang中值类型/指针类型变量区别总结
09-21
golang的值类型和指针类型receiver一直是大家比较混淆的地方,下面这篇文章主要给大家总结介绍了关于golang中值类型/指针类型变量区别的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
golang 如何判断变量类型
whatday的专栏
07-02 3191
本文介绍两种用于判断变量类型的方式。 方法一 package main import ( "fmt" ) func main() { v1 := "123456" v2 := 12 fmt.Printf("v1 type:%T\n", v1) fmt.Printf("v2 type:%T\n", v2) } out...
Golang入门】四、变量的基本数据类型
markscientist的博客
03-26 611
一、 整数类型 int 整数类型用于存放整数值。 1) 有符号的整数类型 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7D2fvJMf-1648045311223)(https://secure2.wostatic.cn/static/4VAEY3U4QY1FVTsaEeGJ4M/image.png)] 2) 无符号的整数类型 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orcAvvPK-1648045311224)(https://sec
一文搞懂Golang变量数据类型
zag666的博客
02-10 568
Golang基础详解
Golang变量声明的四种方式
一条大河
04-03 493
Golang学习笔记,GoLang声明的四种方式
golang基础教程
热门推荐
irich的博客
02-14 3万+
目录 golang基础教程(一)、环境搭建 golang基础教程(二)、开发规范及API golang基础教程)、变量数据类型概述 golang基础教程(四)、基本数据类型 golang基础教程(五)、基本数据类型的转换 golang基础教程(六)、指针 golang基础教程(七)、数组 golang基础教程(八)、切片 未完待续… ...
golang基础教程(一)、环境搭建
irich的博客
01-28 2万+
一、安装和配置 SDK 推荐安装1.11+版本,这个版本支持vgo包管理;教程中的是1.9.2的 Windows 安装和配置 SDK 1. 下载 SDK 工具包 Go 语言的官网为:golang.org , 因为各种原因,可能无法访问。 SDK 下载地址:Golang 中国 https://studygolang.com/dl 如何选择对应的 sdk 版本 Windows 下:根据自己系统是 ...
golang T 类型变量
06-02
Golang 中,T 是一个泛型类型,它可以代表任何类型。T 可以通过类型参数来定义,比如在函数中使用泛型类型参数: ```go func Swap[T any](a,b T) (T, T) { return b, a } ``` 在上述代码中,`T any` 表示 T 是...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • golang基础教程 32387
  • ubuntu18分辨率变低,无法调整,最高只有1024*768 29808
  • golang基础教程(一)、环境搭建 20371
  • golang基础教程(二)、开发规范及API 17151
  • golang基础教程(十三)、接口、多态 17121

分类专栏

  • 云主机 1篇
  • Spark 2篇
  • SpringCloud 1篇
  • SpringBoot学习笔记 6篇
  • python 7篇
  • golang 30篇
  • linux 1篇
  • github 2篇
  • java 10篇
  • 正则表达式 1篇
  • netty 5篇
  • 虚拟机 2篇
  • disruptor 4篇
  • 下载 1篇
  • 分布式事务 2篇
  • IDEA 1篇
  • dubbo 3篇
  • apache 3篇
  • typescript 4篇
  • openresty 1篇
  • docker 2篇
  • mysql 1篇
  • 前端 1篇
  • flutter 2篇
  • dart 1篇
  • UML 3篇
  • sehll 1篇

最新评论

  • golang基础教程(十三)、接口、多态

    学不会go不改名: func Println(a ...interface{}) (n int, err error) { return Fprintln(os.Stdout, a...) } 这个空接口的Fprintln,这应该是return fmt.Fprintln(os.Stdout, a...)

  • golang基础教程(二)、开发规范及API

    zhoutangxing: 617651002@qq.com

  • golang基础教程(十六)goroutine 和 channel使用

    nanfengnan?: 讲的太粗糙了这章

  • golang基础教程(二)、开发规范及API

    城南椅栏: 2656537241@qq.com

  • golang基础教程(二)、开发规范及API

    镜天者: 152261172722@163.com

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • ehcache使用
  • 使用FutureTask解决并发重复计算问题,提升执行效率
  • Docker容器创建mysql实列
2020年2篇
2019年81篇
2018年3篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司嘉兴网站排名优化白山网络广告推广价格武威外贸网站建设多少钱汉中外贸网站制作公司自贡网站优化排名延安SEO按天计费报价无锡阿里店铺托管公司长葛高端网站设计哪家好贺州高端网站设计多少钱云浮网站优化公司酒泉百搜标王报价临沧外贸网站制作公司孝感网站推广工具推荐玉溪网站搭建价格汕头阿里店铺运营价格昆明关键词排名包年推广报价盐田外贸网站制作保定英文网站建设绵阳设计公司网站价格聊城建网站阳泉SEO按天扣费哪家好宿州模板推广多少钱长沙网站优化推广哪家好海南高端网站设计多少钱黔东南网站优化软件报价肇庆关键词排名白城百姓网标王哪家好潜江网站改版哪家好商丘SEO按天计费哪家好衡阳百度seo报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化