go语言学习

<div style="font-weight: 400;">
<h1 class="clear">脑图</h1>
<h1 class="clear">go介绍</h1>
<h2 class="clear">指针</h2>
<ul>
<li>取地址</li>
<li>取值&</li>
</ul>
<p>函数里使用
,参数是指针就可以修改指针的指向;函数不加就是值传递,把数据拷贝一份</p>
<h3 class="clear">跟C比</h3>
<h4 class="clear">
符号</h4>
<p>C指针比较繁琐的在于指针运算
go语言没有指针运算。</p>
<h4 class="clear">& 符号</h4>
<p>go语音这个符号就是取地址
C/C++ 引用(别名)同时也是取地址符</p>
<h2 class="clear">函数</h2>
<p>函数是go语言的一等公民
不带的名就是指向函数的指针!!!</p>
<h2 class="clear">go并发</h2>
<p>java并发是线程
go并发是routine(协程)</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-2ad6083075284242.png" alt="1671954943710.png"></p>
<p>为什么协程快?</p>
<ul>
<li>不快:并不比线程池快;协程也是只用那几个线程,所以go的协程调优也是线程数量调优。(netty>go)</li>
<li>有些情况比线程快:起一万个协程要比1w个线程快。</li>
</ul>
<p>是否完全等同于线程池的任务?</p>
<ul>
<li>线程池的task,不具备协调能力</li>
<li>golong中可以用channel做(任务)协程协调;channel就是个阻塞队列(类似java的syncqueue)
<ul>
<li>在用户空间模拟了cpu切换</li>
</ul>
</li>
<li>执行完回收</li>
<li>golong中的异步(导出都是异步,但写法都是同步写法)</li>
<li>同步的写法实现异步操作(流行起来的原因,写起来简单)</li>
</ul>
<h1 class="clear">NEXT</h1>
<p>channel

同步sync wait mutex

Map slice channel函数传递

go没有切面编程(动态代理)

生态
没有泛型(目前)</p>
<h2 class="clear">go的内存模型GC</h2>
<p>电脑上每个应用都有自己的虚拟空间,对象放到虚拟空间page中,用到就放到内存page中;用不到直接在虚拟空间就干掉,这样就减少内存中移动对象的操作;这是go gc和javagc的差异;</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-b538d4e09a94070b.png" alt="1671958772766.png">
67 最大最想是32k,超出的是0,精确分配;67中是向上分配,比如 8k的空间要分配大小为5的对象,浪费3k!!67种默认都是span=8k,8k里方的对象个数随之对象线上变大,个数变小。</p>
<p>spans别称叫
mspan</p>
<p>bitmap记录两个信息:

该位置有没有对象
该位置是不是已经扫描过了(垃圾回收算法)</p>
<p>!<img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-2a533f38d4bf0ff5.png" alt="1671959741439.png"></p>
<p>也会有碎片化问题,要把碎片整理出内存给新对象使用就要长时间stw(线程暂停)</p>
<p>go本来是为了替代c的,如果把泛型,aop等加进来反而会写起来复杂如java;不太好了。</p>
<p>go格式化:gofmt -w test.go</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-2a3d66e586ff7279.png" alt="1671977696218.png"></p>
<p>老方式GOPATH方式有vendor目录,现在用go.mod方式</p>
<p>beego脚手架:自动创建mvc工程目录,热部署,可以创建api工程(前后端分离),web工程(前后端不分离)</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-70616409d6138d46.png" alt="1672480010829.png"></p>
<p>iris的框架基于fasthttp:性能高不稳定</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-161ac684d21ce3f7.png" alt="1672479673257.png"></p>
<p>gin 和beego基于net http:beego大而全,gin自由</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-651c61e824d85526.png" alt="1672479864692.png"></p>
<p>总结</p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-a1f8d8ef9d7582f3.png" alt="1672480114839.png"></p>
<h1 class="clear">Gin</h1>
<h2 class="clear">Gin入门</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-0e8b76c666e3a426.png" alt="1672480397880.png"></p>
<h2 class="clear">gin的http请求与返回</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-ea6b21bea2e27278.png" alt="1672482366550.png"></p>
<h2 class="clear">参数的泛绑定</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-278c82ef6378641f.png" alt="1672490971951.png"></p>
<h2 class="clear">绑定静态文件</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-dbd43551bd5498b3.png" alt="1672491276530.png"></p>
<h2 class="clear">多种请求类型crud</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-f8a6755931f8925a.png" alt="1672491623365.png"></p>
<h2 class="clear">路由分组</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-4f3120a051857a2a.png" alt="1672492029235.png"></p>
<h2 class="clear">参数获取</h2>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-e3133140593d9458.png" alt="通过请求路径获参数"></p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-e7ee794694b99ca5.png" alt="queryString获取参数">

<img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-11eb17f11ba092ff.png" alt="postform获参"></p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-99810a69a98d686f.png" alt="query和form混合使用"></p>
<p><img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-a4809a4b4d84503d.png" alt="queryArray和QurryMap">

<img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-7a9fdc6b09e06aef.png" alt="postarray和map"></p>
<p>PYTHON
pip install –index-url http://mirrors.aliyun.com/pypi/simple/ –trusted-host mirrors.aliyun.com Image</p>
<h1 class="clear">引用</h1>
<h1 class="clear">社交</h1>
<p>每日都有工作和生活记录,赏一个

<img decoding="async" src="https://upload-images.jianshu.io/upload_images/21597556-3e0df2321bae5013.png" alt="收款码"></p>
</div><blockquote><p>本文使用 <a href="https://www.jianshu.com/p/5709df6fb58d" class="internal">文章同步助手</a> 同步</p></blockquote>

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

推荐阅读更多精彩内容

  • hello World 应用程序入口[注意] 必须是main包:package main 必须是main方法:fu...
    茶还是咖啡阅读 399评论 0 2
  • 一、线程休眠 * Go语言中main()函数为主线程(协程),程序是从上向下执行的 * 可以通过time包下的Sl...
    小陈工阅读 398评论 0 1
  • 《Go语言学习之路》是我自己学习Go语言的笔记,首发于我个人博客:liwenzhou.com 2015年底我因为工...
    七米qimi阅读 263评论 0 2
  • Go语言中的并发 Go 语言为并发编程而内置的上层 API 基于 CSP(communicating sequen...
    Wss_Study阅读 42评论 0 0
  • Go 语言的基础组成有以下几个部分:包声明 引入包 函数 变量 语句 & 表达式 注释 当标识符(包括常量、变量、...
    安然在路上阅读 244评论 0 0