Go-变量声明与赋值

原创 2016年08月29日 09:30:23

从本节开始,按照Introducing Go一书的顺序,学习并总结Go。——package部分的顺序有所调整。

要点

  • 可以先用var声明,然后用等号赋值;
  • 也可以用:=把上面两步合并为一步。
  • 区别:=仅用于已经声明过的变量;而:=是声明加赋值。——可参考编译错误信息。

示例

hello.c:

package main
import "fmt" // implements formatted IO

func main() {
    var a int
    a = 5

    b := 10

    fmt.Printf("a = %d, b = %d", a, b);
}

运行:

D:\examples>go build hello.go

D:\examples>hello.exe
a = 5, b = 10
D:\examples>

分号

习惯了其他语言(C/C++, Java等),有时候不自觉会在一行最后添加一个分号。事实上,在Go中,一个语句之后不需要加分号,直接换行即可。但如果要在一行写多条语句,则中间要加分号。——Python也不用分号,但需要缩进。

变量类型

在:=情形下,变量的数据类型会自动推导得出。——这和脚本语言非常类似。另外,在代码执行过程中,变量类型也会根据其赋值而自动转变。

相关文章推荐

Go语言基础:变量赋值顺序

在阅读server.go时,意外的发现有这么两句赋值语句是其它语言不允许的语法。如下:1915 // DefaultServeMux is the default ServeMux used by S...
  • uudou
  • uudou
  • 2016年10月02日 20:33
  • 743

SQL变量声明和赋值知识归纳

  • 2012年02月18日 14:31
  • 342B
  • 下载

ES6 变量声明与赋值:值传递、浅拷贝与深拷贝详解

ES6 变量声明与赋值:值传递、浅拷贝与深拷贝详解归纳于笔者的现代 JavaScript 开发:语法基础与实践技巧系列文章。本文首先介绍 ES6 中常用的三种变量声明方式,然后讨论了 JavaScr...

C++类变量声明

  • 2015年12月04日 17:04
  • 2.51MB
  • 下载

有关复制构造函数和变量声明

  • 2013年05月23日 12:11
  • 196KB
  • 下载

C语言有关指针的变量声明中的几个易错点

Technorati 标签: 指针,typedef,const,define         我们都知道,至少听说过指针对于C语言中的重要意义,但是在使用指针时却常常让我们痛不欲生,这里有几个在声明指...

C#数据类型变量声明使用

  • 2009年04月22日 18:14
  • 223KB
  • 下载

C/C++ 变量声明和定义的区别 静态变量的作用

变量声明和定义的区别 :在学习C/C++的过程中容易混淆变量的声明和定义,先将他们的区别总结如下:...

详解js变量声明提升

之前一直觉会认为javascript代码执行是由上到下一行行执行的。自从看了《你不知道的JS》后发现这个观点并不完全正确。先来给大家举一个书本上的的例子: var a='hello world'; ...
  • makel12
  • makel12
  • 2017年02月14日 18:07
  • 851

C语言变量声明及内存分配

C语言变量声明及内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Go-变量声明与赋值
举报原因:
原因补充:

(最多只允许输入30个字)