Go语言学习-hello(基础语法)

基础概念

1、每个go文件必须属于一个package
(package是位于同一目录中的源文件的集合)
2、go程序的入口是main()函数
3、包含main() function的package必须声明为package main

创建一个Go program

1、Create a new directory (e.g. go_project)
2、在这个目录下创建main.go文件
3、代码行

package main

import "fmt"

func main() {
	fmt.Println("Hello, go!")
}

4、输入指令

go run main.go

5、查看代码输出

Import Packages

A Go program can import other packages
上面的例子就是,imported a built-in Go package, fmt
实现输出功能

Primitive Data Types

在这里插入图片描述

Variables

变量的类型可以直接声明,也可以不声明推断
在这里插入图片描述

Type Conversion

类型转换
在这里插入图片描述

Constants

定义常量
在这里插入图片描述

Conditionals

条件语句
解析器只识别K&R brace-style大括号样式
在go中,if-else语句不需要括号括住条件
在这里插入图片描述

For Loop

迭代数字

类似于其他 语言中的while循环

无限循环

获取列表中的每个元素的索引和值
在这里插入图片描述

Scope

Inner Code Blocks c可以访问Outer Code Blocks中定义的变量,反之不成立
在这里插入图片描述

Strings

字符型类型可读不可修改
在这里插入图片描述

Character Encoding

字符编码,中文
在这里插入图片描述

Rune

字符编码,数字
在这里插入图片描述

Array

同类型元素固定大小、有序的集合
在这里插入图片描述

Slice

提取一系列元素,构建在底层数组之上,可以动态调整大小
在这里插入图片描述

修改Slice也会修改它指向的底层数组
在这里插入图片描述

在Slice里添加数
在这里插入图片描述

Map

在这里插入图片描述

Functions

定义一个方法函数并引用
在这里插入图片描述

Structures

不同于其他语言,go是structure不是class
在这里插入图片描述

Copying of Structs
复制不会影响原版
在这里插入图片描述

Methods

在function函数里用structure
在这里插入图片描述

Pointers

指针存储指向实际值的内存地址
在这里插入图片描述

通过指针修改值
Modifying Values via Pointers
在这里插入图片描述

引用

Pass By Value
在这里插入图片描述
Pass By Reference
在这里插入图片描述

Interfaces

定义一组方法
在这里插入图片描述

Composition (Embedding)

重用现有结构的字段和方法,不是用继承
在这里插入图片描述

Coroutines

协程是单个process内的轻量级并发执行路径,允许我们同时执行多项任务
在这里插入图片描述

WaitGroup

提供等待Coroutines集合完成的方法
不需要计时器,wg.Wait()会等两个Coroutines完成
在这里插入图片描述

Channels

提供在Coroutines之间传递值(先进先出顺序)的机制
在这里插入图片描述

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值