【Go语言编程】基础知识篇


一、Go语言简介

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

1.优势

  • 兼顾C语言级别的编译、运行效率,容易部署,PHP级别的开发效率
  • 强大的标准库,内置高效的垃圾回收机制
  • 简单的并发编程,goroutine和channel极易上手
  • 静态类型语言,拥有强大的编译检查、严格的编码规范
  • 背景强大,由三位骨灰级大师创造,google公司运营维护

2.劣势

  • 没有异常处理,只有Error
  • 依赖管理(已解决√) 1.11推出GoModules
  • 缺少框架(已解决√)Gin、Beego、Echo…等等
  • 无泛型(正在解决。。。)官博确认正在考虑泛型设计,最快在1.18测试版中加入

3.前景

  • 在云计算、微服务、基础后端软件上具有强大优势
  • 得到诸多大厂的"青睐",很多部门由java转golang,新公司甚至直接使用golang
  • 优秀开源项目不断涌现,以docker和k8s为代表

二、数据集的导入及编辑

1.包及其导入

  • 点操作
import (."fmt")
//之后调用这个包函数时,可以省略前缀包名
Println("hello world")
  • 别名操作
import (f"fmt")

f.Println("hello world")
  • _ 操作
    _ 操作只是引入该包,当导入一个包时,它所有的init()函数就会被执行,无法通过包名调用包中的导出函数,只是为了简单地调用其init()函数。

2.变量

//变量声明

//1.指定变量类型,声明后不赋值
var a int
a=12
//2.根据值自动推导变量类型
var b=12
//3.使用:=直接取代var关键字和变量类型
c:=10
//4.多变量声明中用于声明全局变量的写法
var (
	vname1 v_type1
	vname2 v_type2
)

//匿名变量:_(下划线)是特殊的变量名,任何赋予的值都会被丢弃
_ ,b := 34,35

3.预定义常量

iota是一个常量计数器,可以认为是一个被编译器修改的常量,每个const关键字出现时被重置为0,然后在下一个const出现前,每出现一次iota,其代表的数字会自动加1,可以用于枚举。

package main 
import "fmt"
func main(){
   
	const(
		a=iota
		b
		c
	)
	fmt.Println(a,b,c)
}

//输出0 1 2

4.基础数据类型

  • 布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。
  • int和int32在Go语言中被认为是两种不同的类型,但可以使用强制类型转换。
  • 复数的表示
package main
import "fmt"
func main(){
   
	var v1 complex64
	v1=3.2+12i
	v2 :=3.2+12i
	v3:=complex(3.2,12)
	//获取实部和虚部
	fmt.Println(real(v1),imag(v1))
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值