我是靠谱客的博主 积极花瓣,最近开发中收集的这篇文章主要介绍Go学习总结——基础,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、测试文件名一定要以xxx_test.go结尾

2、交换变量

	a,b = b,a

3、连续常量的定义

const(
	Monday = iota + 1
	Tuesday
	Wednesday
)

const (
	open = 1 << iota
	close
	pending
)

4、Go语言的特性

  • Go 对于数据类型的转换是比较严苛的,不支持隐式类型转换,也不支持别名到原类型的隐式转换
  • Go不支持任何指针运算
  • Go里面的字符串是值类型,默认初始化零值是空字符串,而不是空(nil)

5、Go操作符

  • Go不支持前置 ++ –
  • Go支持按位清零 &^

6、条件和循环

  • 循环只有for这个关键字(因为Go的关键字只有25个,比较少)
  • 条件if判断中的表达式必须为布尔值
  • if 支持两段式的写法
  • 条件表达式不限制为常量或者整数
  • 单个case中,可以出现多个结果选项,使用逗号分隔
  • 与C语言等规则相反,Go语言不需要用break来明确退出一个case
  • 可以不设定switch之后的条件表达式,在此种情况下,整下switch结构与多个if…else…的逻辑相同

7、数组array和切片slice

  • 数组的容量不可伸缩,切片可以
  • 数据可以比较,切片不可比较
  • 切片的cap(capacity)是可变的
  • 切片是共享内存空间的,修改其中一个slice,其原数据也会受到影响

8、map元素

  • 在访问的key不存在时,仍会返回零值,不能通过返回nil来判断元素是否存在
  • map的value可以是一个函数方法
  • map与Go的Dock type接口方式一起,可以方便的实现单一方法对象的工厂模式
  • map可以实现Go没有支持的set类型的特性

9、string

  • string是数据类型,不是引用或指针类型,初始化为默认零值
  • string是只读的、不可变的 byte slice,len 函数可以返回它所包含的byte数
  • string的byte数组可以存放任何数据(可见字符、不可见字符)

10、Unicode UTF8

  • Unicode是一种字符集(code point)
  • UTF8是 unicode 的存储实现(转换为字节序列的规则)

最后

以上就是积极花瓣为你收集整理的Go学习总结——基础的全部内容,希望文章能够帮你解决Go学习总结——基础所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部