golang 快速入门学习笔记
本文最后更新于 1704 天前,其中的信息可能已经有所发展或是发生改变。

Go的几个特点

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

HelloWorld

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

import “fmt”  //导入包

//入口函数

func main() {

fmt.Println(“hello world”)

}

[/code]

 

导入包

导入多个包的语法

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

[code]import (
“database/sql”
“fmt”

_ “github.com/lib/pq”
)

[/code]

常见包

fmt:格式化输出

os:环境、文件操作

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

 

变量声明

[code]var a int //类型在后面

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

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

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

[/code]

函数、分支、循环

a和b都是int,返回int

[code]func test( a, b int) int {

}

[/code]

 

if后表达式可不跟圆括号

[code]if exp {

} else {

}

[/code]

 

for后表达式可不跟圆括号

[code]for true  {
}

[/code]

结构

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

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

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

 

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

[code]var map1 = map(map[key_type]val_type)[/code]

 

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

[code]func (param interface{}) {

}

[/code]

 

JSON序列化/反序列化

 

读文件

读命令行参数

 

异常处理

异常类型是error

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

[code]func getSomething() (interface{}, error){

//新建异常并返回

err := errors.New(“an error”)

return nil,err

//正常返回

return obj, nil

}

 

obj, err := getSomething()

if err !=nil {

//异常处理

}[/code]

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇