GO语言简单语法和常用特性 | 青训营

96 阅读1分钟

go语言特性

高性能,高并发(最核心)

go语言不同于其他并发编程语言的一个重要特性是go语言使用goroutine协程,使线程更加轻量化,同一台机器可以申请成千上万个协程,通过一个关键字go就可以直接创建协程,相比于java的多线程开发,更加便捷。 一个协程的例子:

func main() {
	src := make(chan int)
	dest := make(chan int, 3)
	go func() {
		defer close(src)
		for i := 0; i < 10; i++ {
			src <- i
		}
	}()
	go func() {
		defer close(dest)
		for i := range src {
			dest <- i * i
		}
	}()
	for i := range dest {
		println(i)
	}
}

go语言简单语法

变量声明:

var a = 123(自动推断类型) 或者var a int = 123

常量声明:

const a = 456

数组声明:

var a [3]int 或者 a := [3]int{1,2,3}(赋初值)

if-else语法

if a < 1{
    ...
}else{
    ...
}

注意每个if,else后面都要跟括号

循环

只有for循环

for i := 1;i < 10;i++{
    Println(i);
}//经典三段式
for{
    ...
}//死循环
for i,num := range nums{
    Println("第",i,"个数字为",num);
}//遍历数组,i为下标,num为当前下标对应的元素

个人认为最好用的是第三个,并且不同于C++的直接获取元素,go语言这个遍历还可以获得下标,更加便捷。

函数

func myFunction(a int)(num int,err error){
    ...
}

第一个括号中的是参数,第二个中的是返回值,其中前者是返回的值,后者是错误信息。相比于C++中的try-catch语法,go语言的这种写法更加优雅简洁。