golang学习笔记3-变量的声明

注:本人已有C,C++,Python基础,只写本人认为的重点。

一、变量的三种声明方式

go 复制代码
func main() {
	//方式1,指定数据类型,声明后若不赋值,使用默认值
	//比如int的默认值是0,string的默认值是空串
	var i int = 1
	//方式2,类型推导,根据值自行判定变量类型
	var num = 10.11
	//方式3,省略var的类型推导(短变量声明)
	//下面的方式与var name string;name = "tom"等价
	name := "tom"
}

特别注意go的局部变量声明后,若它再次被赋值,不算使用!会报错!只有该变量放在等号右边或用于函数调用才算使用。变量在等号右边的情况有两种:一是赋值自己,比如自增,二是赋值给其他变量。

二、多变量的声明

go 复制代码
func main() {
	//方式1,指定数据类型,从左到右依次赋值,下同
	var n1, n2, n3 int = 1, 2, 3
	//方式2,类型推导
	var n1, name , n3 = 100, "tom", 888
	//方式3,省略var的类型推导(短变量声明)
	n1, name , n3 := 100, "tom~", 888
}

曾经有道面试题,给定两个变量,要求不使用中间变量的情况下交换它们。有种方法是a=a+b;b=a-b;a=a-b;其实不用这么麻烦,只需一句就行了,这也是python的语法:a,b=b,a。

三、全局变量的声明

go 复制代码
package main

import "fmt"

//定义全局变量
var n = 100
var name = "jack"

//上面的声明方式,也可以改成一次性声明
var (
	n2    = 300
	name2 = "mary"
)

func main() {
}

特别注意全局变量无法用短变量声明,必须显示赋值!

相关推荐
QT 小鲜肉6 分钟前
【Linux命令大全】001.文件管理之slocate命令(实操篇)
linux·运维·服务器·数据库·笔记
上天_去_做颗惺星 EVE_BLUE13 分钟前
C++学习:学生成绩管理系统
c语言·开发语言·数据结构·c++·学习
AI视觉网奇24 分钟前
ue安装插件方法笔记
笔记·ue5
Clarence Liu35 分钟前
用 Go 从 100 亿个数中找到最小的 100 个数 —— 实战与原理
开发语言·后端·golang
Hcoco_me39 分钟前
大模型面试题23:对比学习原理-从通俗理解到核心逻辑(通用AI视角)
人工智能·rnn·深度学习·学习·自然语言处理·word2vec
菩提小狗1 小时前
小迪安全_第4天:基础入门-30余种加密编码进制&Web&数据库&系统&代码&参数值|小迪安全笔记|网络安全|
前端·网络·数据库·笔记·安全·web安全
知识分享小能手1 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04中的过滤器知识点详解(13)
linux·学习·ubuntu
be or not to be1 小时前
HTML+CSS 浮动与表格全总结笔记
css·笔记·html
_Kayo_2 小时前
React antd table 基础用法笔记1
笔记
弘毅 失败的 mian2 小时前
Git 分支管理
大数据·经验分享·笔记·git·elasticsearch