Golang学习笔记1——基础

文章目录1. 初识GO1.1 Go语言优势1.2 Go适合做什么?1.3 Go标准命令概述1.4 HelloWorld2. 基础类型2.1 变量2.1.1 变量声明2.1.2 变量初始化2.1.3 变量赋值2.1.4 匿名变量2.2 常量2.2.1 常量定义2.2.2 预定义常量,枚举类型2.3 基础数据类型2.4 输入输入1. 初识GO1.1 Go语言优势可直接编译成机器码,不依赖其他库,glibc 的版本有一定要求,部署就是扔一个文件 上去就完成了。静态类型语言,但是有动态语言的感觉,静态类型
摘要由CSDN通过智能技术生成

1. 初识GO

1.1 Go语言优势

  • 可直接编译成机器码,不依赖其他库,glibc 的版本有一定要求,部署就是扔一个文件 上去就完成了。
  • 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出 来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。
  • 语言层面支持并发,这个就是 Go 最大的特色,天生的支持并发。Go 就是基因里面支 持的并发,可以充分的利用多核,很容易的使用并发。
  • 内置 runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说 GC(内存 垃圾回收机制)不算完美,但是足以应付我们所能遇到的大多数情况,特别是 Go1.1 之 后的 GC。
  • 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go 关键字是 25 个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继 承、重载、对象等。
  • 丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。
  • 内置强大的工具,Go 语言里面内置了很多工具链,最好的应该是 gofmt 工具,自动化 格式化代码,能够让团队 review 变得如此的简单,代码格式一模一样,想不一样都很
    困难。
  • 跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux
    的应用,如何做到的呢?Go 引用了 plan9 的代码,这就是不依赖系统的信息。
  • 内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。

1.2 Go适合做什么?

  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理 日志、数据打包、虚拟机处理、文件系统等。
  • 分布式系统,数据库代理器等。
  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。
  • 内存数据库,如google开发的groupcache,couchbase的部分组建。
  • 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的 apcera 云平台。

1.3 Go标准命令概述

Go 语言中包含了大量用于处理 Go 语言代码的命令和工具。其中,go 命令就是最常用的一 个,它有许多子命令。这些子命令都拥有不同的功能,如下所示。

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

1.4 HelloWorld

代码:

package main // 必须包含一个main 包

import "fmt" // 导入包含,导入后必须要使用,否则编译器会自动优化掉这一行

func main() {
    // 花括号必须这种格式
	// main函数不支持参数
	// 不需要用分号换行
	fmt.Println("hello world!")
}

运行:

zhou@zhoudeMacBook-Air helloworld % go run main.go 
hello world!
zhou@zhoudeMacBook-Air helloworld % 

2. 基础类型

2.1 变量

2.1.1 变量声明

//1、单变量声明,类型放在变量名之后,可以为任意类型
var 变量名 类型
var v1,v2,v3 string //多变量同类型声明
//2、多变量声明
var {
   
    v1 int
    v2 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值