新手小白需要了解的 Go 基础细节杂谈

这篇具有很好参考价值的文章主要介绍了新手小白需要了解的 Go 基础细节杂谈。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Golang 基础知识一遍过 👈

今日记录一下 学习 golang 这门语言遇到的一些比较特殊的细节,供大家参考。

 文章来源地址https://www.toymoban.com/news/detail-408832.html


 

Go天生支持UTF-8

 新手小白需要了解的 Go 基础细节杂谈

 所以,在我们输出内容的时候,可以包含很多的非 ASCII 码字符。实际上,Go 是天生支持 UTF-8 的,任何字符都可以直接输出,甚至可以使用 UTF-8 中的任何字符作为标识符

 

_(下划线)特殊变量名

新手小白需要了解的 Go 基础细节杂谈

 

 

 _ 这个变量在针对很多需要丢弃固定的值的情况下,适合使用_ 变量(如map、slice)

golang中不允许存在未被使用但是已经声明的变量


 

新手小白需要了解的 Go 基础细节杂谈

 

 

 尽管 int 的长度是 32 bit 但是int 和int32 并不可以互用

 

 

在Go中字符串是不可以直接改变的,例如:

新手小白需要了解的 Go 基础细节杂谈

 

 会直接报错

 

新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

一些 Go 数据的底层的储存图示:

 

新手小白需要了解的 Go 基础细节杂谈

 这些基本类型底层都是分配了一块内存。然后存储了相应的值

 

当有多个变量或者常量需要声明时

新手小白需要了解的 Go 基础细节杂谈

 

 关键词 iota (枚举)

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

slice 的存储结构:

 

新手小白需要了解的 Go 基础细节杂谈

 

 len 是 slice 的长度

cap 是 slice 的最大容量

新手小白需要了解的 Go 基础细节杂谈

 

 使用append 时,若slice 还有剩余空间就会改变所引用的数组的内容,但是如果此时已经没有剩余空间,那么就会动态分配新的数组空间,原数组不受影响

 

 

map注意事项:

新手小白需要了解的 Go 基础细节杂谈

 

 

make 与 new 的区别:

新手小白需要了解的 Go 基础细节杂谈

 

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

各个变量的零值

新手小白需要了解的 Go 基础细节杂谈

 

变参

新手小白需要了解的 Go 基础细节杂谈

 

 

 

指针传递

新手小白需要了解的 Go 基础细节杂谈

 

 

 

 函数也能作为值、类型

新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

Panic 和 Recover

新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

保留函数: main 函数与 init 函数

新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 struct 的 匿名字段

新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

Go 的面向对象

新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

新手小白需要了解的 Go 基础细节杂谈

新手小白需要了解的 Go 基础细节杂谈

 

 

 

 对比:

新手小白需要了解的 Go 基础细节杂谈  vs 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 新手小白需要了解的 Go 基础细节杂谈 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

自定义类型

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 指针作为方法的 receiver

新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

Go 的公有私有实现

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

 

Interface

新手小白需要了解的 Go 基础细节杂谈

 

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 新手小白需要了解的 Go 基础细节杂谈

 

新手小白需要了解的 Go 基础细节杂谈

新手小白需要了解的 Go 基础细节杂谈

 

 

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

嵌套interface

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 反射

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

并发 goroutine

 新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

channels

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

Buffered channels

新手小白需要了解的 Go 基础细节杂谈

 

 

close 与 channels range

新手小白需要了解的 Go 基础细节杂谈

 

 

 select

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

阻塞超时

 新手小白需要了解的 Go 基础细节杂谈

 

 runtime goroutine

新手小白需要了解的 Go 基础细节杂谈

 

 新手小白需要了解的 Go 基础细节杂谈

 

 

 

总结 Go的25个关键字

新手小白需要了解的 Go 基础细节杂谈

 

到了这里,关于新手小白需要了解的 Go 基础细节杂谈的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法 时间、空间复杂度的计算(C语言/小白/零基础/新手 + 例题)

    目录 1. 时间复杂度 计算时间复杂度( O(N))的方法:   例1:嵌套循环时间复杂度的计算      例2:双重循环时间复杂度的计算   例3:常熟循环的时间复杂度   例6:冒泡排序的时间复杂度   例7: 二分查找的时间复杂度   例8:斐波那契的时间复杂度         常见的时间

    2024年02月08日
    浏览(30)
  • 小白学Go基础01-Go 语言的介绍

    Go 语言对传统的面向对象开发进行了重新思考,并且提供了更高效的复用代码的手段。Go 语言还让用户能更高效地利用昂贵服务器上的所有核心,而且它编译大型项目的速度也很快。 Go 语言开发团队花了很长时间来解决当今软件开发人员面对的问题。开发人员在为项目选择语

    2024年02月10日
    浏览(29)
  • 一、Go基础知识2、iota、匿名变量与变量作用域的小细节

    1、iota是特殊常量,可以理解为是一个可被编译器修改的常量。 2、iota中有一个计数器,会自动加1,自增类型默认是int类型。 3、如果中断了iota则必须显示恢复。参考示例二。 4、iota简化了const类型的定义。 5、每次出现const的时候,iota归零。 示例一: 运行结果: 两个const打

    2024年02月05日
    浏览(28)
  • 学习网安需要了解的一些基础知识

    1.POC/EXP POC(proof of concept)常指一段漏洞验证代码;EXP(exploit)指利用系统漏洞进行攻击的动作 PoC是证明 漏洞 存在的,而  Exp  是利用这个 漏洞 进一步进行攻击,先有POC,才有EXP         2.Payload/shellcode payload(有效攻击负载) 指的是漏洞利用载荷利用管道,我们在漏洞利用成

    2024年02月11日
    浏览(34)
  • 基础篇:新手使用vs code新建go项目(从0开始到运行)

    学习新语言,搭建新环境。在网上找了一些教程,感觉还是写一个比较详细的方便以后自己使用。其实vs code没有新建项目这个功能,具体怎么运行go语言的项目请看下文。 一、下载GO安装包 1.点击go安装包下载链接下载相应的版本(本次下载的是:推荐下载-Microsoft Windows)。

    2024年02月14日
    浏览(31)
  • Unity与Android交互(3)——需要了解的Andorid基础知识

    【前言】 在上一篇文章中只是说了如何实现unity和android交互的问题,要了解其中的原理还必须要先了解一些Android的基础知识,了解后也能搞清楚如何接入SDK或者写Native插件。 (以下只是简要介绍,详细的内容需要自己去看链接) 【Android四大组件】 Activitiy 它提供了一个窗口

    2024年02月10日
    浏览(35)
  • go基础07-了解map实现原理并高效使用

    对于C程序员出身的Gopher来说,map类型是和切片、interface一样能让他们感受到Go语言先进性的重要语法元素。map类型也是Go语言中最常用的数据类型之一。 一些有关Go语言的中文教程或译本将map称为字典或哈希表,但在这里我选择不译,直接使用map。map是Go语言提供的一种抽象数

    2024年02月09日
    浏览(44)
  • 【新手小白向-自我感觉只有基础的高数和线代知识】-SE(Squeeze and Excitation)模块的原理理解与解释-以别人的文章为主加上自己的理解

    ++++通道注意力机制SE(Squeeze and Excitation)模块和动态激活函数引入骨干网络xx,增强特征提取模块对某个主要对象中关键特征的提取能力,并采用梯度中心化算法加快模型训练速度,提升模型泛化能力,改进后的网络框架如图1.1所示(还未画出)。具体而言,将通道注意力机

    2024年02月03日
    浏览(30)
  • 【Linux系列P4】Linux需要什么?编辑器?软件包?一文帮你了解掌握 [yum]&[vim]———基础开发工具篇

    前言 大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎! 本章主要内容面向未接触过Linux的老铁,主要内容含 欢迎订阅 YY 滴Linux专栏!更多干货持续更新!以下是传送门!  订阅专栏阅读: YY 的《Linux》系列 ❀❀❀❀❀ 【Linux系列-P1】 Linux环境的搭建 【Linux系列-P2】Linux的基本

    2024年02月06日
    浏览(50)
  • 新手小白的AI训练指南

    Python是一种非常流行的编程语言,也是许多开发人员用于开发和训练人工智能(AI)算法的首选语言。Python的简单性和易于使用的语法,使得开发人员可以更快地构建AI应用程序,而不必花费太多精力学习新技能。 如果你也想开始学习如何利用Python构建AI应用程序,那么本篇入

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包