golang 快速入门学习笔记

Go的几个特点

  • 可编译为二进制
  • 存在指针
  • 不使用分号,但单行多语句可以使用分号
  • 空叫做nill

HelloWorld

package main //必须有main包,包名与文件夹名和文件名没关系,但同文件夹下多个文件必须包名一致

import "fmt"  //导入包

//入口函数

func main() {

fmt.Println("hello world")

}

 

导入包

导入多个包的语法

下划线代表初始化该包(执行init函数),但不导入他

import (
"database/sql"
"fmt"

_ "github.com/lib/pq"
)

常见包

fmt:格式化输出

os:环境、文件操作

iouitil:封装好的文件操作,读写文件、文件夹、临时文件夹

 

变量声明

var a int //类型在后面

var a int = 200 //声明并初始化

var a, b = 1 //多变量声明并初始化

a := 1 //声明并初始化,冒号不可多次使用

函数、分支、循环

a和b都是int,返回int

func test( a, b int) int {

}

 

if后表达式可不跟圆括号

if exp {

} else {

}

 

for后表达式可不跟圆括号

for true  {
}

结构

new会分配内存并置0,然后返回内存指针

make用于golang内置结构的内存分配,返回对象本身

他们都是函数,需要加括号和参数调用

 

map是一个无序键值对,可以自定义key和val的类型

var map1 = map(map[key_type]val_type)

 

interface{},一个空interface类型可以当作object类型,他接受任何类型的实现

func (param interface{}) {

}

 

JSON序列化/反序列化

 

读文件

读命令行参数

 

异常处理

异常类型是error

很常见的异常处理写法是这样的,err放在返回参数最后

func getSomething() (interface{}, error){

//新建异常并返回

err := errors.New("an error")

return nil,err

//正常返回

return obj, nil

}

 

obj, err := getSomething()

if err !=nil {

//异常处理

}

 

0 条评论
    发表一条评论