Golang基础学习笔记

<meta charset="utf-8">

一、各种语言入门例子:打印Hello,World!

package main

import (

"fmt"

)

func main(){

fmt.Println("Hello,World!")

}

二、定义变量

1、var name type_name = value

2、var name = value

3、name:=value // 只能定义为局部变量

Go语言中,所有变量都被初始化为零值

// int= 0 string ="" bool = false

// *int = nil //指针类型

三、

常量定义:

1、const name type_name = value

2、数据的初始化递增 与 iota连用

const (

INIT = iota

ONE

TWO

)

四、控制语句

1、 if else 条件语句 if后面判断条件不可以加() 而且{必须和if 在同一行

2、for 循环语句 后面不加()

3、switch case 不需要用break

五、结构体

变量如果定义为小写字母开头的话 意味着这个变量是这个结构体私有变量

六、map

// map 的定义

// map[key_type] value_type

var map_name map[string]int

//map 注意点 : map使用之前要进行初始化操作

func init() {

map_name = make(map[string]int)

}

func main() {

fmt.Println("")

map_name["111"] = 100

fmt.Println("map_name", map_name)

}

init()函数在变量定义之后 main函数执行之前执行。不需要被调用,自动调用。可以被定义多个

七、数组和切片

/*

知识点一 数组

特点:1、内存连续的数据集合 var arr[5] int --> arr[0]...arr[4]

2、数组取值 下标从0开始

3、作为函数参数 可以为值传递也可以为引用传递

知识点二 切片

特点: 1、切片底层是数组

2、动态增加(数组是固定大小)

3、函数参数属于引用传递

*/

// 数组定义

var arr_name [2] int

// 切片定义

var slice_name [] int

value_slice1 = slice_name[1:3:5]; // 容量 slice_name[n:m:f] 长度 len = m-n cap = f-n

八、匿名函数

/*

匿名函数的定义

j:=func(i,j int )(data int ){

data = i+j

return data

}

j是我们的函数的地址

x,y :=func(i,j int)(m,n int){

return j,i

}

*/

九、接口

/*

接口: go语言为了实现多态

1、定义接口

2、接口的使用 --->go语言为了实现多态

*/

type I_name interface {

Printflm() //接口的函数

}

//接口的实现函数

func Ts_Func(data I_name) {

data.Printflm()

}

type A1 struct {

}

type B1 struct {

}

func (this *A1) Printflm() {

fmt.Println("A1 Printflm")

}

func (this *B1) Printflm() {

fmt.Println("B1 Printflm")

}

func main() {

data1 := A1{

}

data2 := B1{

}

Ts_Func(&data1)

Ts_Func(&data2)

}

十、异常

/*

异常处理: panic recover

panice 是什么? :错误,严重错误。导致程序崩溃

产生的常见原因:1、map忘记初始化

2、并发安全 map

3、网络 数据库连接

4、数组越界的

defer 数据延迟处理

1、 close free

2、 conn 数据库连接 defer close()---》 error---》close(conn)

*/

func Panic_func() {

panic("12345")

}

func main() {

defer func() {

if err := recover(); err != nil {

strerr := fmt.Sprintf("%s", err)

fmt.Println(strerr)

}

}()

fmt.Println("data:")

Panic_func()

fmt.Println("data1:")

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • 我和这两个人认识倘倘不过5年 曾经好到一起啃一个苹果 睡一张床 喝一杯饮料 喜欢看着这两个人笑 喜欢短子拉着我们走...
    牛潘潘阅读 193评论 0 0
  • yuriy0_0阅读 1,319评论 0 0
  • 其实我一直觉得在婚礼上哭泣的新娘不是因为感到幸福或者对父母的不舍 又或者是因为站在你对面的是不是你心中所想的那一个...
    kim124阅读 154评论 0 0