学习笔记 - Go - 语法

Posted 欧阳青星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记 - Go - 语法相关的知识,希望对你有一定的参考价值。

基本组成部分:包声明、引入包、函数、变量、语句 & 表达式、注释。
关键字 / 保留字
break
default
func
interface
select
case
defer
go
map
struct
chan
else
goto
package
switch
const
fallthrough
if
range
type
continue
for
import
return
var
预定义标识符
append
bool
byte
cap
close
nil
complex64
int8
uint16
copy
false
float32
iota
imag
int
complex128
int16
uint32
int32
int64
float64
len
make
new
complex
panic
uint64
print
println
recover
real
string
true
uint
uint8
uintptr
数据类型
布尔
默认为false
数字
默认为0
字符串
默认为“”
派生
指针类型(Pointer)、数组类型、结构化类型(struct)、Channel 类型、函数类型、切片类型、接口类型(interface)、Map 类型。
 
值传递
调用函数时将实际参数复制一份传递到函数中,
函数中修改参数,不会影响到实际参数。
Go、Java
引用传递
调用函数时将实际参数的地址传递到函数中,
函数中修改参数,将影响到实际参数。
C
 
 
语法
var a int = 1        // 变量定义
a := 1    // 函数中
var(        // 全局变量
    a int
    b bool
)
j = i        // 值拷贝
const    // 常量
iota        // 用于枚举的可变常量
&        // 返回变量的存储地址
*        // 指针变量
func max ( num1, num2 int ) int { }    // 函数定义
func swap ( x, y string ) ( string, string ) { }    // 函数定义
var balance [10] float32        // 数组
 
并发:通过 go 关键字来开启 goroutine 即可。 goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。同一个程序中的所有 goroutine 共享同一个地址空间。
通道(channel)是用来传递数据的一个数据结构。 通道可用于两个 goroutine 之间通过传递一个指定类型的值来同步运行和通讯。操作符 <- 用于指定通道的方向,发送或接收。如果未指定方向,则为双向通道。
 
ch := make(chan int)    // 创建通道
ch <- v        // 把 v 发送到通道
ch v := <-ch // 从 ch 接收数据 并把值赋给 v
close()    // 关闭通道
 
指针、结构体,类似C。切片(Slice)类似于 Java 的 List。范围(Range)用作遍历 for 循环。
 
 

以上是关于学习笔记 - Go - 语法的主要内容,如果未能解决你的问题,请参考以下文章

go学习Golang底层学习笔记

学习笔记 - Go - 语法

学习笔记 - Go - 语法

学习笔记 - Go - 语法

go语言学习笔记 — 基础 — 基本语法 — 运算符:go中的运算符

go语言学习笔记 — 基础 — 基本语法 — 类型相关:类型定义与类型别名