变量命名原则

go语言的变量名有字母数字和下划线组成,首字母不能为数字,但是字母不仅仅只限于英文字母,所有的UTF-8字符都是可以的。

变量声明和初始化方式

使用var关键字

var a int = 9

var str string ="jisuanji"

注意,Go语言变量类型放在变量名之后!

如果上面的代码段没有初始化值,那么变量就会被初始化为对应类型的零值。

var a int

这个代码片段声明了一个int类型变量a,并把a初始化为int零值,即0。

忽略类型

这种声明和初始化变量的方式相比于第一种,就是省去了变量的类型,Go语言编译器可以根据你的初始值自动判断出类型。例如:

//这里面的a被自动识别为int类型。

var a = 5

直接初始化

这种方法定义和初始化变量,既不需要var关键字,也不需要指定类型,快捷又方便,实际的代码中建议用这种方式。

a:=3

以上代码段定义了一个变量a,并把它初始化为3。

多变量声明

Go语言可以同时声明和初始化多个变量这个和Python有点像,具体语法如下:

//类型相同多个变量, 非全局变量

var vname1, vname2, vname3 type

vname1, vname2, vname3 = v1, v2, v3

//和python很像,不需要显示声明类型,自动推断

var vname1, vname2, vname3 = v1, v2, v3

//出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现

vname1, vname2, vname3 := v1, v2, v3

代码示例

package main

import "fmt"

var c,d int = 1,2

var e,f = 123,"hello"

func main(){

var v21 int32 //被定义初始化为0

var v22 int = 2

var v23 = 3 //被自动识别为int类型

v24 := 4 //简易声明&定义的方式

v21 = int32(v23) //强制转换

g, h := 123, "hello"//注意:下行这种不带声明格式的只能在函数体中出现

fmt.Println("v21 is", v21) //v21被赋新值

fmt.Println("v22 is", v22)

fmt.Println("v23 is", v23)

fmt.Println("v24 is", v24)

fmt.Println(c, d, e, f, g, h)

}

运行结果:

v21 is 3

v22 is 2

v23 is 3

v24 is 4

1 2 123 hello 123 hello

golang 初始化并赋值_GoLang学习之变量定义和初始化相关推荐

  1. c++ map初始化同时赋值_Golang学习笔记五--map

    map的创建 func main() {//创建 mapstudens := map[string]string{"name": "张三","age& ...

  2. c++ map初始化同时赋值_Golang入门教程——map篇

    点击上方蓝字,和我一起学技术. 今天是golang专题的第7篇文章,我们来聊聊golang当中map的用法. map这个数据结构我们经常使用,存储的是key-value的键值对.在C++/java当中 ...

  3. C语言郝斌视频学习一 变量为什么要初始化和一个小例子以及大纲笔记

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以"85"开头的很大的数字(此时该段内存中为一个垃圾 ...

  4. golang 变量定义和初始化

    变量命名原则 go语言的变量名有字母数字和下划线组成,首字母不能为数字,但是字母不仅仅只限于英文字母,所有的UTF-8字符都是可以的. 变量声明和初始化方式 使用var关键字 var a int = ...

  5. 【C语言】结构体变量定义、初始化、使用

    目录 前言 一.声明"结构体类型" 二.定义结构体变量 方法 1  先声明结构体类型,再定义结构体变量 方法 2 声明类型的同时定义变量 *方法 3 不指定结构体名(结构体标记), ...

  6. c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配

    #include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...

  7. golang 初始化并赋值_golang 结构体初始化时赋值格式介绍

    golang在给结构体赋值初始值时,用:分割k,v值 x := ItemLog{ Id: GetUuid(), ItemId: u.Id, UsrId: "123", Name: ...

  8. golang 初始化并赋值_Golang 切片综合指南

    在这篇文章中,我们将复习「切片」的概念,它是 Golang 中一个重要的数据结构,这一数据结构为你提供了处理与管理数据集合的方法.切片是围绕着动态数组的概念构建的,它与动态数组相似,可以根据你的需要而 ...

  9. golang 线程 Java线程_Golang 学习笔记(06)—— 多线程

    Golang 介绍 线程是cpu调度的最小单位,只有不同的线程才能同时在多核cpu上同时运行.但线程太占资源,线程调度开销大.go中的goroutine是一个轻量级的线程,执行时只需要4-5k的内存, ...

最新文章

  1. 优秀的中文分词第三方库——jieba
  2. com.rr.domain.Department_$$_javassist_5 cannot be cast to javassist.util.proxy.Proxy
  3. spring + shiro + cas 实现sso单点登录
  4. mysql自动增长id 溢出_MySQL表自增id溢出的故障复盘怎么解决 MySQL表自增id溢出的故障复盘解决方法...
  5. 海量数据处理 (一)
  6. Java多线程学习总结(5)——乐观锁和悲观锁的基本概念、实现方式(含实例)、适用场景及常见面试题
  7. makefile phony
  8. 机器学习Scikit-Learn模块详解
  9. 337.打家劫舍III
  10. CSS颜色代码 颜色值 颜色名字大全
  11. 淘宝数据分析必须知道的15个核心问题
  12. 分享可用的谷歌学术(google scholar) hosts
  13. 图解如何在IIS上部署Asp.Net(.NET5.0)网站,新手必看!!!
  14. flowchart流程图编程语言下载_FlowChart.Net下载
  15. app如何助推用户从pc端转向手机端
  16. 管理工具-生产管理系统Mes
  17. chapter-2数据库基本知识
  18. 排序算法——十大排序算法总结与对比
  19. 计算机组成原理经典复习题集锦(附答案)
  20. java实现高德地图app,Android 高德地图入门demo,最新高德地图实现方法,附源码及apk...

热门文章

  1. 2011计算机考研分数线,2011华科计算机考研复试基本分数线.pdf
  2. 一台ARM服务器“一朵云”,ZStack真的做到了
  3. prescan许可证无效
  4. FEDAY2018游记
  5. kindeditor在方法中动态创建在线文本编辑器
  6. SSH隧道详解与使用AutoSSH实现稳定的内网穿透
  7. Emlog插件资源下载样式Pro专业版蓝奏云
  8. 2023华北水利水电大学计算机考研信息汇总
  9. win10系统多屏互动怎么使用
  10. Windows10搭建NTP授时服务器