Go学习

Posted zzr-stdio

tags:

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

Go学习

Go语言优势

  • 可直接编译成机器码,不依赖其他库。
  • 静态类型语言
  • 语言层面支持并发
  • 内置runtime,支持垃圾回收
  • 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数其他语言见过的特性:继承、重载、对象等
  • 丰富的标准库
  • 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。
  • 跨平台编译
  • 内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。

    Go适合用来做什么

  • 服务器编程
  • 分布式系统,数据库代理器
  • 网络编程
  • 内存数据库

    标准命令概述

  • build:用于编译给定的代码包或Go语言源码文件及其依赖包。
  • clean:用于清除执行其他Go命令后遗留的目录和文件。
  • doc:用于执行godoc命令以打印指定代码包。
  • env:用于打印go语言环境信息
  • fix:用于执行gotoo fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。
  • fmt:用于执行gofmt命令以格式化给定代码包中的源码文件。
  • get:用于下载和安装给定代码包及其依赖包
  • list:用于显示给定代码包的信息。
  • run:用于编译并运行给定的命令源码文件。
  • install:编译包文件并编译整个程序。
  • test:用于测试给定的代码包。
  • tool:用于运行Go语言的特殊工具
  • version:用于显示当前安装的Go语言的版本信息。

第一个Go程序

package main

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

关键字

  • 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

    内建常量:
    true false iota nil

内建类型:int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr float32 float64 complex128 complex64 bool byte rune string error

内建函数:make len cap new append copy close delete complex real imag panic recover

变量

var v1 int
var v2 int
//一次定义多个变量
var v3,v4,v5 int

var (
    v10 int
    v11 int
)

var v1 int = 10
var v2 = 10
v3 := 10
var v11,v22,v23 = 1, 2, 3

基础数据类型

类型 名称 长度 零值 说明
bool 布尔类型 1 false 其值不为真就是假,不可以用数字代表true或false
byte 字节型 1 0 uint8别名
rune 字符类型 4 0 专用于存储unicode编码,等价于uint32
int,uint 整型 4或8 0 32位或64位
int8,uint8 整型 1 0 -128~127,0~255
int16,uint16 整型 2 0 -32768~32767,0~65535
int32,uint32 整型 4 0 -21亿~21亿,0~42亿
int64,uint64 整型 8 0
float32 浮点型 4 0.0 小数位精确到7位
float64 浮点型 8 0.0 小数位精确到15位
complex64复数类型 8
complex128复数类型 16
uintptr整型 4或8 以存储指针的uint32或uint64整数
string 字符串 "" utf-8字符串

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

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段

你知道的Go切片扩容机制可能是错的

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段

IOS开发-OC学习-常用功能代码片段整理

java SpringRetry学习的代码片段

python 机器学习有用的代码片段