当前位置: 首页 > wzjs >正文

做网站到八方资源网怎么样做网站全包

做网站到八方资源网怎么样,做网站全包,北京西城注册公司,一站式服务的优点八股总结(go) gorm底层怎么连接mysql的 gorm是一个基于go语言的ORM框架,gorm不直接实现数据库的连接,而是基于Go标准库database/sql来管理数据库连接池;gorm.open()调用sql.open()初始化database/sql.DB; gin框架优势 gin是一个高…

八股总结(go)

  1. gorm底层怎么连接mysql的

    • gorm是一个基于go语言的ORM框架,gorm不直接实现数据库的连接,而是基于Go标准库database/sql来管理数据库连接池;
    • gorm.open()调用sql.open()初始化database/sql.DB;
  2. gin框架优势

    • gin是一个高性能、轻量级的web框架,基于net/http封装;
    • 基于RadixTree(基数树)进行路由分配;
    • 采用jsoniter进行JSON解析;
    • API设计简洁,内置多种HTTP方法,参数解析简洁;
    • 有着强大的中间件机制,支持局部和全局中间件,内置多个常用中间件,例如:
      • CORS(跨域处理)
      • JWT认证
      • 限流
      • 日志记录
      • 错误恢复(recovery,避免程序崩溃,能够自动捕获panic并返回500错误)
    • 内置渲染引擎,支持HTML模板渲染也支持JSON、XML、YAML格式;
  3. 切片的底层原理

    • slice本质是对底层数组的抽象,包含三个字段,指针:指向底层数组的起始地址,长度:切片当前长度,容量:表示切片当前容量;
    • 当切片容量不足时,会创建一个新的底层数组,并将数据拷贝到新的数组中,如果当前容量cap<=1024扩容两倍,如果当前容量>1024,扩容1.25倍左右;
    • 切片的共享机制,切片和数组是共享底层存储的,切片的修改会影响原始数组,slice[i:j]创建的新的切片如果修改数据,原slice仍然也会被修改;
  4. Map的底层原理

    • map采用哈希表(hashtable)结构,底层包含桶数组:存储键值对,哈希函数:用于计算key的哈希值并确定存放的bucket,溢出桶:当桶满时存储额外的数据;
    • go使用链地址法+开放寻址法解决哈希冲突,链地址法:每个桶最多存储8个键值对,如果超过8,会创建溢出桶,开放寻址法:使用额外的哈希计算在多个同种寻找空位存储;
    • map的扩容,当map大于负载因子6.5时触发扩容,创建2倍的桶,并重新计算key的哈希值,重新分配位置,采用渐进式迁移,为了避免一次性的拷贝影响性能;
    • map的删除,不会立即回收内存,只是标记删除,如果删除后桶为空,也不会回收桶的内存,当map进行扩容或更多数据加入时,才会真正释放内存;
  5. 将切片与map传入函数中,对数据进行修改,在函数外部切片与map会改变吗

    • 切片是引用传递,本质上是一个结构体,函数接收到还是这个结构体的副本,但其指向底层数组的指针不变,如果修改其数据会影响函数外的原切片,但若改变切片长度append()触发了扩容机制,则副本指向的底层数组地址发生改变,此时原切片则不会改变。如果切片触发扩容也能修改生效,则需要返回新的切片;
    • map是引用传递,本质上是一个指针,指向底层的哈希表,函数内部的修改会直接影响外部的map,如果在函数内部对map进行重新赋值(make(map[string]int)),入参会指向新的map,但不会影响外部的map;如果想要在函数内的重新赋值,则可以使用指针类型进行传参;
  6. 切片创建方式有哪些

    • 直接声明:var s []int,默认值为nil, 不能通过索引访问,会发生panic报错但可以append;

    • 使用make([]int, 5),创建长度为5容量为5默认数据为0的切片,也可以通过make([]int, 3, 10)指定capacity;

    • 直接初始化,s := []int{1, 2, 3};

    • 可以通过数组或现有切片创建,arr[1:4],共享arr数组或切片的底层存储,len()是数据长度,cap则是其arr[1]到arr末尾的长度,即从主切片中取出指向开头位置的链表地址这个意思;

      s1 := []int{10, 20, 30, 40, 50}
      s2 := s1[1:3] // [20, 30]
      fmt.Println(s2, len(s2), cap(s2)) // [20 30] 2 4
      
    • 赋值切片(copy()),如果想要创建一个独立的新切片,避免共享底层数组,可以使用copy(),

      src := []int{1, 2, 3}
      dst := make([]int, len(src))
      copy(dst, src)
      

文章转载自:

http://9Unux2Y0.zrLms.cn
http://fPK53vfs.zrLms.cn
http://GRETkiZf.zrLms.cn
http://dddzBRzN.zrLms.cn
http://aIxwcat6.zrLms.cn
http://W5EMsnJz.zrLms.cn
http://jWCdsAlC.zrLms.cn
http://yuQ8v6rw.zrLms.cn
http://Cdlm9nBW.zrLms.cn
http://nszTfnCm.zrLms.cn
http://n6UfDlwL.zrLms.cn
http://Hf7NPjhZ.zrLms.cn
http://5xiqbTuB.zrLms.cn
http://IQmLD3aD.zrLms.cn
http://OUwq6bwy.zrLms.cn
http://zyk3neQC.zrLms.cn
http://mHXpgbMq.zrLms.cn
http://g6OzdIyt.zrLms.cn
http://jZ81hukY.zrLms.cn
http://bx9SahYd.zrLms.cn
http://PUhL0M5w.zrLms.cn
http://SvAVQQoB.zrLms.cn
http://XLjtlPrO.zrLms.cn
http://7peWtK79.zrLms.cn
http://kVLia5UC.zrLms.cn
http://vO6dT3HM.zrLms.cn
http://kZ99nL3B.zrLms.cn
http://z7kYFIOq.zrLms.cn
http://Knc4Frik.zrLms.cn
http://3dOIvMvb.zrLms.cn
http://www.dtcms.com/wzjs/621057.html

相关文章:

  • 营销型网站建设公司哪家建设seo专员工作累吗
  • 怎么使用网站程序专业团队朋友圈文案
  • 网站说明怎么写企业营销型展厅设计价目表
  • 深圳网站建设黄浦网络洛阳已经开始群体感染了
  • 鹤壁企业网站建设信誉好的福州网站建设
  • 教研网站建设方案优化网站佛山厂商
  • 去了哪找网站建设公司wordpress略缩图图片变形怎么办
  • 网站建设分工方案wordpress themeforest
  • 如何扫描一个网站的漏洞wordpress英文换成中文
  • 东南亚购物网站排名wordpress版本伪装
  • 网站案例 网站建设北京网络科技有限公司官网
  • 成都网站建设的定位长春seo优化企业网络跃升
  • 简约、时尚、高端 网站建设wordpress重置密码邮件
  • 网站怎么加代码厦门人才网个人会员
  • tp5 商城网站开发建设网站的平台
  • 米拓做网站图片在哪里删掉做网站需要会哪些知识
  • 蓝色企业网站手机版织梦模板化妆品行业的网站开发
  • 建设图书馆网站昆明学校网站建设
  • 长春火车站人工电话微信头像logo在线制作
  • 建设一个外贸网站多少钱呢重庆网站建设velpai
  • 拓尔思网站建设公司wordpress微信机器人
  • 提高网站打开速度的7大秘籍wordpress给用户发消息
  • 图片类网站开发需求网站后台登陆密码
  • 雅安市建设网站静态网站开发课程网
  • 专门做电子书的网站软件开发网站能做seo吗
  • 网站制作公司 沈阳西部数码网站正在建设中是什么意思
  • 网站中的搜索功能怎么做wordpress 需要多大数据库
  • 佛山行业网站建设龙华住房和建设局网站官网
  • 山海关建设局网站wordpress入门
  • 嵌入式培训学费郑州网络seo公司