为什么突然想学习go,因为我一直学的比较杂,想选一个应聘的方向学习,看到了腾讯的一个方向,支持java ,c/c++,go;但是由于java太卷了,最近裁员也多,于是我决定学习go,毕竟go被一些人称做为未来编程


目录

  • Go 语言结构
  • Go 语言基础语法
  • Go 语言数据类型
  • Go 语言变量
  • Go 语言常量
  • Go 语言运算符


学习基础语法,先不配置编译器,采用菜鸟在线编译器

Go 语言结构

Go 语言的基础组成有以下几个部分:

  • 包声明
  • 引入包
  • 函数
  • 变量
  • 语句 & 表达式
  • 注释
package main

import "fmt"

func main() {
   /* 这是我的第一个简单的程序 */
   fmt.Println("Hello, World!")
}

是的就和java理解差不多,打包,导包。

go语言 klocwork go语言菜鸟教程_go语言 klocwork

Go 语言基础语法

和java相似,不多说,对应的菜鸟教程

Go 语言数据类型

菜鸟教程

Go 语言变量

这个好生总结一下:
声明方法:
1.var identifier (type)
2.var identifier1, identifier2 (type)
()里为可选,但去除类型后,必须给变量赋值,像python
3. :=初始化

例如:
1.

var a string
var a = "asd"/*必须赋值*/



var a,b string
var a,b = "asd","fgh"



a := "asd" /*和var a = "asd"一样*/

注意:

  1. go语句后没有分号,一行一个语句
  2. 变量声明了以后不能重复声明
  3. 变量声明后必须使用,否则会报错
  4. {或(不能独占一行,所以格式和java的格式差不多,但java独占一行不会报错

空白标识符

空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃。
_ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。

就是占位符的意思嘛

go语言 klocwork go语言菜鸟教程_golang_02

Go 语言常量

格式:const identifier (type) = value

和变量定义相似可以多值定义:const a,b = “a”,“b”

除此之外,常量还可以作为枚举

go语言 klocwork go语言菜鸟教程_学习_03


枚举,就是定义起始值,序号自增

如果在c语言中只需要指定第一个值就行了,但go不行

go语言 klocwork go语言菜鸟教程_学习_04


本来希望输出2

这就说明如果枚举中的变量不赋值,系统会给他一个和上一个变量一样的值

那么怎样才能达到自增呢?其实枚举自增的不是变量本身的值,而是一个iota的特殊常量

go语言 klocwork go语言菜鸟教程_golang_05


这样就对了来个例子加深理解:

go语言 klocwork go语言菜鸟教程_Go_06


你可能疑惑,为什么c d自增了,不应该和上一个一样吗,注意我上面加粗的,是和变量一样喔,上面没有变量,就只能是特殊常量了,就自增,如果有则一样

Go 语言运算符

和其他语言一样
菜鸟教程