go学习笔记(1)——感悟

2023-05-16

    在接触到go语言之前,我本人一直学习的是C/C++语言,本想着凭借原有的语言功底能够很快的去自学任何一门新的编程语言,只不过渣小白毕竟还是渣,go语言的更新对于其他语言的一些继承和更新也是令人上手起来相当难受,说一下我在使用这门语言时一些让我相当难受的地方:

1.类型转换什么鬼?

    什么是类型转换,就是从一个类型转化成为另一种类型,不过之所以首先要提到这个的原因是,类型转化控制的似乎也有点太过于严格,动不动就有一条红色的波浪线出现在所写代码之下,然后就提示"Cannot use x(type T) as type T1 in assignment",根本没有C/C++中我当初认为理所应当的隐式类型转化,举个例子:

var s int = 2
var m int32 = s    //Cannot use s(type int) as type int32 in assignment

    诸如此类的类型换的问题还有很多,比如逻辑运算符和位运算符对于使用的类型强行指定为bool型,然而想将一个其他类型转化到bool类型又是一个令人费神的事情,总结根本原因还是自己太渣,对于这种不能隐式转化的情况在使用习惯后还是非常喜欢的,毕竟可以减少后期的修改和其他不知名的错误。

2.代码这样写有问题吗Oh my god?

    直接举一个入门级别的“Hello World”来解释这个问题吧

//go 正确写法
func main()  {
	println("Hello World")
}

//missing function body
func main()  
{
	println("Hello World")
}
    没错你没有看错,这种写法就是有问题,go语言中已经强行限制了这种代码的风格,根本不会给你一点标新立异的机会,要不就按照这种编码规范来写,要不就按照要求的代码规范来写,要不你只能和go擦肩而过了,不过go命令行工具还是特别强大的,相信比较熟悉Linux/Unix系统的人一定会喜欢上它的,不过这种强制的格式控制对于我们阅读代码来说确实是相当的方便,尤其对于我这样的初学者来说来,还是相当的不错的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go学习笔记(1)——感悟 的相关文章

  • 终端与作业控制

    strong span style font family none font size 24px 进程组 span strong span style font family none font size 18px 1 简单来说进程组就是
  • mac手册汉化 2019

    1 安装依赖 brew install automake brew install opencc 2 编译 wget https github com man pages zh manpages zh archive v1 6 3 3 ta
  • 守护进程&创建

    守护进程 守护进程也称为精灵进程 xff0c 是一种运行在后台的特殊进程 和其他后台进程所不同的是 xff0c 它始终独立其他会话 xff0c 自成会话组 xff0c 不受系统登录和注销的影响 xff0c 一般都是7 24小时在后台运行的
  • 智能指针剖析&模拟

    要学习智能指针之前需要先了解一下什么叫RAII xff1f 所谓RAII就是运行时初始化 xff0c 具体的实现就是定义一个类来封装运行资源的分配和释放工作 xff0c 在构造函数中进行资源的分配 xff0c 在析构函数中进行资源的回收工作
  • 代理服务器与NAT技术

    1 1 简介 1 1 1 名词解释 公有IP地址 xff1a 也叫全局地址 xff0c 是指合法的IP地址 xff0c 它是由NIC xff08 网络信息中心 xff09 或者ISP 网络服务提供商 分配的地址 xff0c 对外代表一个或多
  • 【网络】网络基础知识总结

    谈到网络 xff0c 首先就需要知道计算机网络中的两个参考模型 xff0c 即OSI参考模型 与TCP IP参考模型 OSI参考模型 OSI xff08 Open System Interconnect xff09 xff0c 即开放式系统
  • 【程序员面试宝典】数组相关面试题

    1 像素翻转 有一副由NxN矩阵表示的图像 xff0c 这里每个像素用一个int表示 xff0c 请编写一个算法 xff0c 在不占用额外内存空间的情况下 即不使用缓存矩阵 xff0c 将图像顺时针旋转90度 给定一个NxN的矩阵 xff0
  • 浅析TCP协议中的各种定时器

    TCP在建立连接之后可能会启动四个定时器 重传计时器 xff1a Retransmission Timer 坚持计时器 xff1a Persistent Timer 保活计时器 xff1a Keeplive Timer 时间等待计时器 xf
  • 【程序员面试宝典】字符串相关面试题

    1 确定字符互异 请实现一个算法 xff0c 确定一个字符串的所有字符是否全都不同给定一个string iniString xff0c 请返回一个bool值 True代表所有字符全都不同 xff0c False代表存在相同的字符 保证字符串
  • 【程序员面试宝典】链表相关面试题

    1 链表中的第k个节点 题目描述 xff1a 输入一个链表 xff0c 输出该链表中倒数第k个结点 struct ListNode span class hljs built in int span val struct ListNode
  • 【网络】网络端口号分类

    在开始之前有必要先说一下为什么要网络要对对端口号进行细分 xff0c 而像常见的端口号之间又是什么东西 xff0c 有什么作用 xff0c 为什么要学习端口号相关的知识 xff0c 带着这些疑问 xff0c 下面开始今天知识的学习 在我学习
  • TCP协议中的URG和PSH位

    相关背景知识 http blog csdn net double happiness article details 74025156 在探讨TCP协议中的URG和PSH控制位时 xff0c 我们先来简单的复习一下TCP协议 URG xff
  • 问答QA(一)综述

    声明 xff1a 本文是综合网上问答系统介绍 xff0c 做的总结 xff0c 如有侵权 xff0c 请联系处理 xff0c 谢谢 一 问答系统架构 1 1 问题分析模块 负责对用户的提问进行处理 xff1b 生成查询关键词 xff08 提
  • 【程序员面试宝典】栈和队列相关面试题

    1 集合栈 题目描述 xff1a 请实现一种数据结构SetOfStacks xff0c 由多个栈组成 xff0c 其中每个栈的大小为size xff0c 当前一个栈填满时 xff0c 新建一个栈 该数据结构应支持与普通栈相同的push和po
  • 【程序员面试宝典】栈的应用

    1 下一个较大元素 现在我们有一个int数组 xff0c 请你找出数组中每个元素的下一个比它大的元素 给定一个int数组A及数组的大小n xff0c 请返回一个int数组 xff0c 代表每个元素比他大的下一个元素 若不存在则为 1 保证数
  • time_wait与面试的暧昧

    背景知识 TCP三次握手与四次挥手 http blog csdn net double happiness article details 70160738 time wait是什么 xff1f 通过上面三次握手和四次挥手的学习 xff0c
  • 【通信方式五】socket编程之TCP通信

    1 网络字节序 网络字节序就是熟知的关于大小端的问题 xff0c 关于前面的大小端的判断方法 xff0c 以及代码实现再此就不在赘述 xff0c 下面只谈网络中的字节序问题 xff08 如何判定当前机器的大小端 xff1a http blo
  • 【通信方式六】socket编程之UDP通信

    相关博客 通信方式五 socket编程之TCP http blog csdn net double happiness article details 74938008 由于TCP协议是可靠的面向连接的协议 xff0c 因此在服务器端需要执
  • shell下的第一个编程(不一样的1到100累加)

    相信对于一个程序 猿 来说 xff0c 除了我们入门的 hello world 之外 xff0c 最简单的代码就是只有从1累加到100这样简单的程序吧 xff0c 没错这样的程序在现在来看或许根本不如我们的法眼 xff0c 那么问题来了 x
  • 【每日一题-1】有序链表合并与累加和问题

    基础题 合并两个有序链表 xff0c 合并以后的链表依旧有序 思路 xff1a xff08 1 xff09 特殊情况处理 xff1a 若两个链表都为则返回空 xff0c 若其中一个链表为空返回另外一个链表的头结点 xff1b xff08 2

随机推荐