Loading

1-Golang基础

Go语言诞生小故事

  • Go语言核心开发团队

  • Google创造Golang的原因

Golang语言的特点

  • Go语言保证了既能达到静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言:Go=C+Python,说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。

从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了C语言一样的编译执行方式及弱化的指针

引入包的概念,用于组织程序结构,Go语言的每一个文件都要归属于一个包,而不能单独存在

垃圾回收机制,内存自动回收,不需要开发人员管理

天然并发,从语言层面支持并发,实现简单;goroutine,轻量级线程,可实现大并发处理,高效利用多核;基于CPS并发模型(Communicating Sequential Processes)实现

吸收了管道通信机制,形成Go语言特有的管道channel,通过channel,可以实现不同的goroutine之间的相互通信

函数可以返回多个值

新的创新:比如切片slice、延时执行defer

Windows下搭建Go开发环境

Hello World

// hello world
package main

import "fmt"

func main() {
	fmt.Println("hello world!")
}
  • 通过go build(go build -o myhello.exe hello.go)命令对该go文件进行编译,生成.exe文件,运行hello.exe文件即可,使用go run命令可以直接运行hello.go程序

Go程序开发的注意事项

  • Go源文件以"go"为扩展名
  • Go应用程序的执行入口是main()函数
  • Go语言严格区分大小写
  • Go方法由一条条语句构成,每个语句后不需要分号
  • Go编译器是一行行进行编译的,不能把多条语句写在同一行,否则会报错
  • Go语言定义的变量或者import的包如果没有使用到,代码不能编译通过
  • 大括号都是成对出现的,缺一不可

Go代码风格

  • 单行注释// 注释,多行注释/* 注释 */
  • gofmt格式化gofmt hello.go,或者格式化后重写gofmt -w hello.go
  • 运算符两边习惯各加一个空格
  • Go语言程序员推荐使用驼峰式命名,当名字有几个单词组成的时优先使用大小写分隔,而不是优先用下划线分隔
  • 左大括号必须紧接着语句不换行,大括号必须成对,缺一不可
posted @ 2022-04-03 19:50  lotuslaw  阅读(29)  评论(0编辑  收藏  举报