golang学习-创新互联

由于期末考试没时间学算法学了一波go放松一下
这可能是我学语言最认真的一次了(
跟的是尚硅谷学完的 二倍速+快进 折腾了一周左右
网络编程部分没看 因为不懂计网 不想学(
在这里插入图片描述

员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站制作、成都做网站、微信公众号开发、电商网站开发,微信小程序定制开发,软件按需开发等一站式互联网企业服务。
  • 虽然已经很老的课了 但是顺平老师雀氏讲的太细了
  • 也是听完了
  • 自己也没时间写笔记 还有更重要的事情要做,就只是浅浅记录了一下
  • 写得也很乱 自己复习用

go≈c+py 保留了指针 如果有c/c++的基础学起来应该也会很快

go语言的hello world
package main

import (
	"fmt"
)

func main(){fmt.Println("hello world!")
}
数据类型
  • 字符串的字节使用 UTF-8 编码标识 Unicode 文本
  • go里面没有char
变量

如果没有声明变量类型 var 可以自动推导变量类型
和c++区别的是 如果没有声明成全局变量 也会赋“0”值

package main

import (
	"fmt"
)

func main(){var a= 10
   //a:=10   
   //var a int  a=10
   fmt.Printf("%T",a)
}

在这里插入图片描述
也可以这样声明(导包也可以直接一个括号

var (
	a int
	b  bool
   )
  • 匿名变量_ 不占用内存空间,不会分配内存
  • 变量作用域首字母大写 别的包就也能访问的到
指针

和c差不多 。 空指针是nil c++里的null

匿名函数
package main

import (
	"fmt"
	_"time"
	_"runtime"
)

func main(){ans:=func (a int ,b int)  int{return a+b
  }(1,2)
  fmt.Println(ans)
}
闭包

在这里插入图片描述
请添加图片描述
请添加图片描述

  • 异常处理

![请添加图片描述](https://img-blog.csdnimg.cn/5d459b251f5f400ca38051ff900666d4.png

在这里插入图片描述

数组 切片 map 结构体
  • 这些东西都很简单 和c++差不多

在这里插入图片描述

  • 首字母大写== public 其他包也可以访问到
  • 数组是值类型!
  • 数组必须有长度 [2]int [3]int 不一样 相当于两种数据类型
  • 切片是引用类型
  • 相当于结构体 存放了首地址 容量 和长度

append底层
请添加图片描述

  • 字符串底层是结构体 ,也可以切片处理
  • string不能直接修改 修改成byte或者rune

在这里插入图片描述

  • map声明不占内存
  • 记的 slice和map 使用时需要make就行
接口
  • 接口必须把所有的方法全部实现
  • 接口是go多态的体现,继承的补充

一个简单的接口实现

package main

import (
	"fmt"
)

type i1 struct {a int
}

type node interface {solve1()
	solve2()
}

func (i i1) solve1() {fmt.Println(i.a)
}
func (i i1) solve2() {fmt.Println(i.a)
}

func main() {var p i1 = i1{10}
	var a node = p
	a.solve1()

}
工厂模式

go语言里面没有构造函数 所以使用工厂模式解决这个问题
在这里插入图片描述
在这里插入图片描述

json

请添加图片描述

多线程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • List item

可读可写:
在这里插入图片描述

  • 并行并发的程序涉及很多逻辑问题 写的时候要特别注意 也是go的大特点
  • 如果只是向管道写入数据,而没有读取,就会出现阻塞
  • 写和读不同步也可以 底层已经做了优化
  • select可以解决取数据的问题 switch“有序” 它“无序”
  • 协程发现了panic 必须捕获 负责会 造成程序崩溃
  • 开启写的协程,执行完成记得关闭,否则读取管道一直等待导致死锁
  • 关于主线程提前结束可以开一个守护线程
  • 更好的解决主线程提前结束的方法link
反射
  • 主要是用来写框架 真没学太明白(
  • 可以说平常写的代码都是正射 他是反射来获取东西

在这里插入图片描述
序列化和反序列化

网络编程

等学了计网再学

数据结构

acmer 数组模拟一些ds还是很容易的

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享标题:golang学习-创新互联
网站路径:https://www.cdcxhl.com/article6/ipdog.html

成都网站建设公司_创新互联,为您提供品牌网站建设网站策划网站排名网站维护静态网站外贸建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司