Golang笔记之变量
哈哈
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笔记之变量的更多相关文章
- golang笔记1
golang笔记1 go代码是用包来组织的,每个包有一个或多个go文件组成,这些go文件文件放在一个文件夹中 每个源文件开始都用一个package声明,指明本源文件属于哪个包 pakage声明后紧跟这 ...
- Golang笔记(二)面向对象的设计
Golang笔记(二)面向对象的设计 Golang本质还是面向过程的语言,但它实现了一些OOP的特性,包括抽象.封装.继承和多态. 抽象和封装 Golang和C语言一样以struct为数据结构核心,不 ...
- Golang笔记(一)简洁的语言风格
Golang笔记(一)简洁的语言风格 概述 Golang继承了很多C语言的风格,寡人使用了十几年C语言,切换到Golang时上手很快,并且随着深入的使用,越来越喜欢这门语言.Golang最直观的感受是 ...
- Python基础笔记_变量类型
下面是W3C学习笔记 , , ) :] ]) :]) :]) :-]) :-]) ]) :]) :]) ) , , ]) :]) :]) ) , , , ]) :]) :]) ) ] = , ])) ...
- ES6学习笔记之变量的解构赋值
变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...
- golang笔记——函数与方法
如果你遇到没有函数体的函数声明,表示该函数不是以Go实现的. package math func Sin(x float64) float //implemented in assembly lang ...
- golang笔记——环境搭建
1.下载安装 从 https://golang.org/dl/ 这里下载最新版本的 golang 安装包,分别有 Windows\Linux\Apple OSX\源码包. golang的官方网站是 h ...
- 【Golang笔记】Golang工具包Cobra安装记录
0.环境信息 系统:Win10_x64 Go版本:go version go1.8.1 windows/amd64 Git版本:git version 2.17.0.windows.1 1.安装Go运 ...
- Golang 笔记 3 if、switch、for、select语句
一.if语句 Go的流程控制主要包括条件分支.循环和并发. if语句一般由if关键字.条件表达式和由花括号包裹的代码块组成.在Go中,代码块必须由花括号包裹.这里的条件表达式是结果类型为bool的表 ...
随机推荐
- POJ1651 Multiplication Puzzle【区间DP】
LINK 每次删除一个数,代价是左右两边相邻的数的当前数的积 第一个和最后一个数不能删除 问最后只剩下第一个数的最后一个数的最小代价 思路 很简单的DP 正着考虑没有办法确定两边的数 那么就把每个区间 ...
- 【idea】常用快捷键
快捷键盘含义 键组合 进入一个类的实现 alt+command+B 加get,set,构造函数,重写方法 command+N 全项目关键字查找 shift+command+F 查看一个类在哪儿被依赖 ...
- Mac 使用ab性能测试工具
Mac 使用ab命令进行压测 1.在Mac中配置Apache ①启动Apache,打开终端 sudo apachectl -v 如下显示Apache的版本 sudo apachectl start 这 ...
- Linux下利用Shell使PHP并发采集淘宝产品
上次项目中用到<<PHP采集淘宝商品>> 此方法有一个缺点,就是执行效率问题.一个商品采集平均需要0.8秒.那10000个商品采集完需要2个半小时. 首先想到的解决办法是并发. ...
- Renesas PPP Mode
不同厂家的NB/4G/2G,配置PPP模式略有差异,回调配置在如下路径: “synergy\ssp_supplemental\src\framework\sf_cellular_cat3\sf_cel ...
- scrollWidth,clientWidth,offsetWidth的区别 ---转载的
转载自博客:http://www.cnblogs.com/kongxianghai/p/4192032.html 通过一个demo测试这三个属性的差别. 说明: scrollWidth:对象的实际内容 ...
- 汇编_指令_FLAGS
标志名 标志 1 标志 0 OF (溢出标志) OV ...
- POJ 2395 Out of Hay(求最小生成树的最长边+kruskal)
Out of Hay Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18472 Accepted: 7318 Descr ...
- Chrome经常新标签页打开http://destyy.com/qNHR3u
经常新标签页打开http://destyy.com/qNHR3u网址. 在历史记录里查询 chrome://history/?q=destyy.com ,发现最早访问是25日10点34分05.貌似那个 ...
- charles 小米手机安装Charles证书
1.手机Wi-Fi设置手动代理,添加IP和端口号 此处是:192.168.63.143:8888, 2.保存证书,PC端访问 chls.pro/ssl 下载pem证书,发送到手机 adb push c ...