每日一Go-1、初识Go语言

内容分享2周前发布
0 0 0

每日一Go-1、初识Go语言

Go,全名Golang,是由Google开发的一门编程语言,于 2009 年正式发布。它的三大关键特性是:语法简洁、高性能高并发、超快编译速度

| 如果你想构建高并发、高性能的分布式系统与云原生应用?那么Go是首选。

1、第一个Go程序:Hello, Go!

package main //程序入口
import "fmt" //导入打印库
func main() { //主函数    
  fmt.Println("Hello, Go!")
}

运行后输出:

> Hello, Go!  

2、变量与类型推断

Go 的变量声明超级灵活:可以用var声明一个变量,也可以不用var声明,直接用:=自动推断类型。是不是比 C++ 和 Java 舒服多了?

var gender int
name := "Coding君"
age := 18

3、函数(func)与返回值

函数写法直观、简洁:

func add(a int, b int) int {    
  return a + b
}

Go 是强类型语言,但支持返回多个值

func getOne() (a int,err error){
  a = 1
  err = nil
  return 
}
a, err := getOne()
if err != nil{
  fmt.Println(err)
}

这在错误处理时超级实用(Go 的 error 类型就是这么用的)。

4、数组、切片、Map

Go 的三大常用数据结构:

① 数组(Array):长度固定,用得少。

nbs := [3]int{123}

② 切片(Slice):支持动态扩展,常常这样用。

nbs := []int{123}
nbs = append(nums, 4)

③ Map:键值对结构,性能高、写法简洁。

fts := map[string]int{"apple"3"banana"5"cherry":6}

5、结构体与接口

Go 没有“类”,但有结构体 struct:

type Person struct {    
  Name string    
  Age  int
}

想让它“会说话”?加个接口:

type Speaker interface {    
  Speak()
}

| Go 不需要 implements。

| 只要方法名匹配,就自动实现接口。

Go 的哲学是:

| “你会,我就认你。”

6、并发:Goroutine 与 Channel

Go 的王牌:并发。

只要在函数前加 go, 它就能并发执行!

lilei:= Person{Name:`李雷`,Age:18}
go lilei.Speak()

协程之间用 channel(通道) 通信:

ch := make(chan string//创建一个通道,里面放string类型的数据
ch <- "Hi" //把字符串“Hi”放入通道
msg := <-ch //从通道取出字符串
fmt.Pringln(msg)

一个发送,一个接收,像自来水管一样。

每日一Go-1、初识Go语言

*记住这个地鼠,它是Go语言的吉祥物*

| 从今天起,你已经是半个Gopher了!

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...