哈哈

package main

// 关键字var 声明变量 类型信息放在变量名后
//声明一个int型变量
var v1 int //声明一个string类型
var v2 string //声明多个变量
var v3, v4 bool //[0 0 0 0 0 0 0 0 0 0] 数组
var v5 []int //数组切片
var v6 []int //声明结构体
var v7 struct {
f int
} // 声明指针
var v8 *int //声明map key为string类型,value是int类型
var v9 map[string]int // 匿名函数和闭包
var v10 func(a int) int //多个需要声明的变量放在一起
var (
name int
age string
)

声明变量

package main

import "fmt"

func main() {
//声明变量的初始化,var 可以省略写法
var v1 int =
//编译器可以自动算出v2的类型
var v2 =
//编译器自动算出v3的类型
//同时进行变量声明和初始化
v3 :=
fmt.Println(v1, v2, v3)
} // 出现在:= 左侧的变量 只能声明一次,不可重复

变量初始化

package main

import "fmt"

//声明之后再赋值
func main() {
var i int
i =
var j int
j =
//Go语言的多重赋值,如下代码交换i和j的变量
//go的多重赋值特性可以很明显的优化代码,相比c/c++
i, j = j, i
fmt.Println(i, j)
}

变量赋值

package main

import "fmt"

//使用强类型语言编程时,调用函数时为了获取一个值,却因为函数返回多个值,又得定义一堆变量
//可以使用多重返回和匿名变量来避免这些问题
func GetName() (firstname, lastname, nickname string) {
return "yu", "yuchao", "chaoge"
} //只想获得nickname,函数调用语句可以写
func main() {
//优化代码的清晰度
_, _, nickname := GetName()
fmt.Println(nickname) }

匿名变量

package main

//声明go代码所属的包,包是go例最基本的分发单位,要生成可执行程序,必须名为main,且下面有个main()函数,作为执行起点

//导入本程序所以来的包,下列用到Println()函数,所以导入fmt
import "fmt" //不得在源代码中写入未使用的包,否则编译器会出错
//软件工程的设计哲学,强制左花括号 { 的放置位置
//函数名的大小写规则
func Compute(value1 int, value2 float64) (resule float64, err error) {
//函数体 fmt.Println(value1, value2)
return
} //main函数不能带参数,也不能定义返回值,命令行传入的参数存在os.Args变量中
func main() {
Compute(, )
}

代码解读

package main

//常量是编译期间就已知,而且不可改变,可以是数值类型(整型、浮点型、复数)、布尔类型、字符串
const Pi float64 = 3.14159265358979323846 //无类型浮点常量
const Zero = 0.0 const (
//无类型常量
size int64 =
eof = -
) //常量多重赋值 u=0.0 v=3.0
const u, v float32 = ,
//无类型整型,字符串常量
const a, b, c = , , "foo"

常量

Golang笔记之变量的更多相关文章

  1. golang笔记1

    golang笔记1 go代码是用包来组织的,每个包有一个或多个go文件组成,这些go文件文件放在一个文件夹中 每个源文件开始都用一个package声明,指明本源文件属于哪个包 pakage声明后紧跟这 ...

  2. Golang笔记(二)面向对象的设计

    Golang笔记(二)面向对象的设计 Golang本质还是面向过程的语言,但它实现了一些OOP的特性,包括抽象.封装.继承和多态. 抽象和封装 Golang和C语言一样以struct为数据结构核心,不 ...

  3. Golang笔记(一)简洁的语言风格

    Golang笔记(一)简洁的语言风格 概述 Golang继承了很多C语言的风格,寡人使用了十几年C语言,切换到Golang时上手很快,并且随着深入的使用,越来越喜欢这门语言.Golang最直观的感受是 ...

  4. Python基础笔记_变量类型

     下面是W3C学习笔记 , , ) :] ]) :]) :]) :-]) :-]) ]) :]) :]) ) , , ]) :]) :]) ) , , , ]) :]) :]) ) ] = , ])) ...

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

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

  6. golang笔记——函数与方法

    如果你遇到没有函数体的函数声明,表示该函数不是以Go实现的. package math func Sin(x float64) float //implemented in assembly lang ...

  7. golang笔记——环境搭建

    1.下载安装 从 https://golang.org/dl/ 这里下载最新版本的 golang 安装包,分别有 Windows\Linux\Apple OSX\源码包. golang的官方网站是 h ...

  8. 【Golang笔记】Golang工具包Cobra安装记录

    0.环境信息 系统:Win10_x64 Go版本:go version go1.8.1 windows/amd64 Git版本:git version 2.17.0.windows.1 1.安装Go运 ...

  9. Golang 笔记 3 if、switch、for、select语句

    一.if语句 Go的流程控制主要包括条件分支.循环和并发.  if语句一般由if关键字.条件表达式和由花括号包裹的代码块组成.在Go中,代码块必须由花括号包裹.这里的条件表达式是结果类型为bool的表 ...

随机推荐

  1. Ubuntu网络配置IP和DNS等,适用于14.04,16.04和17.10

    本文主要介绍Ubuntu系统的网络设置,包括IP,DNS和主机名等,适用于14.04,16.04和17.10等版本 ===============  完美的分割线 ================ = ...

  2. BusyBox ifup udhcpc后台运行

    /********************************************************************** * BusyBox ifup udhcpc后台运行 * ...

  3. NOIP模拟赛(洛谷11月月赛)

    T1  终于结束的起点 题解:枚举啊... 斐波那契数 第46个爆int,第92个爆long long.... 发现结果一般是m的几倍左右....不用担心T. #include<iostream ...

  4. hasura graphql 模式拼接概念

    具体的使用可以参考下面一张图 有一个术语 graphql-bindings 参考项目: https://github.com/hasura/generate-graphql-bindings http ...

  5. RabbitMQ 概念与Java例子

    RabbitMQ简介 目前RabbitMQ是AMQP 0-9-1(高级消息队列协议)的一个实现,使用Erlang语言编写,利用了Erlang的分布式特性. 概念介绍: Broker:简单来说就是消息队 ...

  6. Mysql 创建外键 1005 err 150

    要看错误的详细提示,可以使用命令:(在MySQL Manual里搜索“errno 150”时找到) SHOW ENGINE INNODB STATUS;     //针对用INNODB存储方式的数据库 ...

  7. VirtualBox的端口映射其实很好理解

    还是和以前百度的另一个知识点一样,我真不明白网上那些人要做什么,明明很简单的事,干嘛非要讲的那么复杂,就是为了让人觉得你很高手?很厉害? 名称:随便起的,基于好记的原则,你的什么应用在使用这一条端口转 ...

  8. idea_pyspark 环境配置

    本文转载自:https://www.cnblogs.com/LazyJoJo/p/6910504.html 1.配置好Hadoop和spark 2.配置好Pytho3.5 3.安装py4j pip3 ...

  9. nc工具用法

    http://man.linuxde.net/nc_netcat nc命令用法举例 什么是nc

  10. TCL列表

    列表是Tcl的基本可用数据类型之一.它是用于表示项目的有序集合.它可以包括不同类型的在同一列表的项目.此外,一个列表可以包含另一个列表. 需要注意的一个重要的事情是,列表表示为完全串并处理在需要时,形 ...