Go语言的一点点东西

很久没更新了,主要原因还是自己比较习惯在本地写笔记,不太习惯上传(绝对不是因为懒得排版!),最近也要加快找暑期实习的进度啦,所以更新继续随缘,有空了会放一些自己的笔记上来,大家随缘看哈

基本特点:

  • go既保证了静态编译语言的安全和性能,又达到了动态语言的开发与维护的效率
  • 从C中继承了很多的理念,包括表达式语法,控制结构,基础数据类型,调用参数传值/指针等;
  • 引入了包的概念,用于组织程序结构,go语言的一个文件都要归属于一个包,而不能单独存在;
  • 引入了垃圾回收机制,避免了内存泄漏
  • 天然并发,语言层面支持并发,,可实现大并发处理(goroutine)
  • 吸收了管道通信机制,go语言特有的管道channel
  • 函数可以返回多个值
  • 新的创新:切片slice,延时执行defer等
  • go一行最多不能超过八十个字符,多出的要用逗号换到下一行
  • 面向接口编程而不是面向对象编程
  • 在go语言中,标识符用来标识及函数名、类型名、方法名等,如果标识符的首字母是大写的,那就表示该标识的内容是对外部可见的(也就是可以通过import这个包来访问这个包内标识符首字母大写的内容)

编译注意:

  • go build与go run的区别:

    go build:先编译了可执行文件,在编译过程中会将该程序依赖的库文件包含在可执行文件之中,所以可执行文件也会打了很多,我们可以将该.exe文件拷贝到没有go开发环境的机器上运行

    go run:只能在具有go开发环境的机器上运行

  • 在go中每个文件必须归属于一个包

  • go是一行行进行编译的,因此一行只能写一个语句

  • go定义的变量或者import的包如果没有使用过则不能通过编译

  • tab,实现缩进默认向后面移动,shift+tab整体向左移动

  • gofmt -w test.go 自动缩进

go项目架构:

  • bin:存储所编译生成的二进制文件。
  • pkg:存储预编译的目标文件,以加快程序的后续编译速度。
  • src:存储所有.go文件或源代码。在编写 Go 应用程序,程序包和库时,一般会以$GOPATH/src/github.com/foo/bar的路径进行存放。

猜你喜欢

转载自blog.csdn.net/SFDWU3QVG/article/details/129637206