Go入门语法篇|青训营笔记

42 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第1天

Go语言入门——语言篇

Go语言使用场景:

首先字节跳动已经全面拥抱了go语言,公司内部有上万个微服务使用golang来编写。 腾讯、百度、美团、滴滴、深信服、Google Facebook等公司也在大量使用Go语言。 从业务维度看过语言已经在云计算、微服务、大数据、区块链、物联网等领域蓬勃发展。然后在云 计算、微服务等领域已经有非常高的市场占有率 Docker、Kubernetes、 Istio、 etcd、 prometheus 几乎所有的云原生组件全是用Go实现的。

Go语言的配置

golang与IDE安装不再赘述,这里阐述一下go语言模块代理 在终端中运行:

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

GO语言的特点

  • 1.高性能、高并发
  • 2.语法简单、学习曲线平缓
  • 3.丰富的标准库
  • 4.完善的工具链
  • 5.静态链接
  • 6.快速编译
  • 7.跨平台
  • 8.垃圾回收

基本数据结构与变量

第一个程序

package main

import (
        "fmt"
)
 func main(){
     fmt.Println("hello world")
 }

package main表明文件属于main包的一部分,包管理的意义类似于java,也可以用域名作为包名,同一个包下的文件属于同一个集合 “fmt"是标准库包

运行

go run main.go

or

go build main.go

./main

创建变量、变量赋值

变量有多种创建方式: ":="是简短变量声明

   var a = "initial"

   var b, c int = 1, 2

   var d = true

   var e float64 = 1145

   f := e + 1 //简短变量声明

if\switch\for

与C++类似,不加括号,switch不用写break

//for
	for j := 7; j < 9; j++ {
		fmt.Println(j)
	}
//if
        if 7%2 == 0 {
                        fmt.Println("7 is even")
                } else {
                        fmt.Println("7 is odd")
                }
//switch
        a := 2
	switch a {
	case 1:
		fmt.Println("one")
	case 2:
		fmt.Println("two")
	case 3:
		fmt.Println("three")
	case 4, 5:
		fmt.Println("four or five")
	default:
		fmt.Println("other")
	}

构造结构体方法

type user struct {
   name     string
   password string
}

func (u user) checkPassword(password string) bool {
   return u.password == password
}

字符串操作

image.png

总结

总体来讲,go语言虽然形式上和C++,JAVA等语言不同,但是其核心方法和使用方法却比较类似,上手难度较低。