golang学习笔记
2016-06-05 14:37
477 查看
golang学习笔记
基本语法
关键字(key word) && 变量
关键字golang仅有25个关键字,如下:
var import type return const if else for range break select default goto switch fallthrough func interface case chan continue defer go map struct package
变量声明&&初始化&&赋值
golang变量声明方式与C/C++系语言有明显不同,对于golang这种声明方式知乎上有讨论为什么 Go 语言把类型放在后面?。
golang引入
var关键字,类型信息放在变量名之后。
```go
var n int // 定义一个int变量
var f float32
var str string // 定义一个string变量
var arr [10]int // 数组
var m map[int]int // map
var p *int // pointer
var n int = 10 //定义并初始化
var n = 10
n := 10 // 效果样,可以自动推到n类型
n = 100 // 赋值
n2 := n // 定义并初始化
// ……
由上面示例可以看出,golang语句不需要分号作结束符,而且定义一个变量是被初始化的一般默认值是`0`,而指针是`nil`,`string`是`""`。
package main
import "fmt"
func main() {
var n int
fmt.Println("int: ", n)
var f float32
fmt.Println("float: ", f)
var str string
fmt.Println("string: ", str)
var arr [10]int
fmt.Printf("array: ")
for i := 0; i < len(arr); i++ {
fmt.Printf("%d ", arr[i])
}
fmt.Println()
var p int
fmt.Println("int: ", p)
}
/
output:
int: 0
float: 0
string:
array: 0 0 0 0 0 0 0 0 0 0
int:
*/
```
类型(type)
golang中内置基础类型
booleanint8、byte、int16、int、uint、uintptr
float32、float64
complex64、complex128
string
rune
error
复合类型
数组(array)字典(map)
切片(slice)
结构体(struct)
通道(chan)
接口(interface)
指针(pointer)
引用(reference)
流程控制(flow control)
条件语句if else
选择语句
switch case select
循环语句
for range
跳转语句
goto
函数(function) && 包(package)
函数定义```go
func func_name() {
}
```
函数调用
不定参数
多返回值
匿名函数&&闭包
包管理
面向对象
方法(method)匿名字段
接口(interface)
相关文章推荐
- 2016-计蒜之道-初赛-第二场-A-联想公司的logo设计
- go的自定义结构跨包调用
- GameplayKit Tutorial: Entity-Component System, Agents, Goals, and Behaviors
- Django开发自己的博客系统
- Django开发自己的博客系统
- ContentNegotiatingViewResolver解析器
- Hirschberg's algorithm to find string alignment
- thinkpad x200开机卡logo画面
- 关于DNF金刚Go游戏的决策实践
- Manacher解决最长回文子串
- golan的template包中的eq函数的用法
- 感知器算法(perceptron algorithm)
- PyCharm 开发Django ,错误汇总
- PyCharm 开发Django ,错误汇总
- 如何安装最新版的Google play服务
- [Practice Round APAC test 2016]Problem A. Bad Horse(Google 2016笔试题)
- 小米google play service停止工作解决办法,不root,不刷第三方recovery(也适用于其他的手机)
- GoLang 的 daemonize 实现
- Django中扩展Paginator实现分页
- go 接口