GO语言入门

GO介绍

1.是一门谷歌公司2009年对外公开的编程语言
	市面上有很多著名软件都是用GO写的
    	比如:k8s 、 docker、 七牛

2.是静态,强类型,运行过程中变量类型一旦确定,无法改变
如果需要将一个变量的类型转换为另一种类型,必须显式地进行类型转换
比如:
var x int = 42
var y float64 = float64(x)

Ps :python是动态 弱类型语言
    
3.此外,GO也是一编译型语言,编译成可执行文件后可以在操作系统上直接运行,无需安装任何东西

4.有垃圾回收机制

5.支持面向对象和面向过程的编程模式


6.应用领域
	服务开发、并发、分布式、微服务等方向,自动化运维,区块链
    服务端开发
    分布式系统,微服务
    网络编程
    区块链开发
    内存KV数据库,例如boltDB、levelDB
    云平台

Go的使用

1.环境搭建

下好go的sdk ==>>开发环境         
https://golang.google.cn/dl/
windows64位 go1.20.3.windows-amd64.msi

下一个编辑器即可  ==>> goland 

2.简单使用

1.创建一个项目,记得匹配好sdk
2.创建一个.go文件
3.敲写代码
package main //申明go语言属于哪个包
import "fmt" //自动带入的包

// func 定义一个函数 ,main 是函数名,没有参数,没有返回值,整个项目入口
func main() {
	// 在控制台输出helloworld
	fmt.Println("helloworld")  // a... 提示的,意思是传的helloworld实参,给了a

}

// 编译代码---》编译成可执行文件---》默认编译成当前平台可执行文件---》支持跨平台编译---》想编译出linux的---》交叉编译

// 编译代码---》编译成可执行文件---》默认编译成当前平台可执行文件---》支持跨平台编译---》想编译出linux的---》交叉编译

//编译  go build 文件名----》编译成可执行文件
// 运行,直接运行  双击

// 开发阶段----》编译并运行---》生成可执行文件,不再当前路径,用完就删除

// 编辑器有个快捷运行方式,右键运行

3.变量命名规范

// Go语言中的函数名、变量名、常量名、类型名和包名等所有的命名,都遵循一个简单的命名规则:
	1 一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线
	2 大写字母和小写字母是不同的:Name和name是两个不同的变量(区分大小写,但是go的大写有特殊含义)
	3 关键字和保留字都不建议用作变量名
    
    
// 25关键字,编辑器中会变色
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

// 37 保留字
内置常量: 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



// 总结
	-建议定义变量,函数名使用:用驼峰
	-go文件命令:建议用下划线


// python  都用下划线
// java   都是驼峰

Go中变量的定义和使用

​ 注意,GO的变量,定义就必须用,2333,不用不行

第一种:
	var + 变量名 + 变量类型 = 值
    
第二种:自动推导出类型
	var + 变量名 = 值
 
第三种:关键符号‘:=’
    变量名:= 值
      
第四种:一次性声明多个

	1.完整定义
     var a,b,c + 变量类型 = 值1,值2,值3
     var (
     变量名 + 变量类型 = 值
     变量名 + 变量类型 = 值
     )
    2.类型推导
    省略类型而已,就不写了
    
    3.简略声明 省var 
    name, age, hobby := "lqz", 19, "篮球"
        
    
    4.常用
    var(
    a = xx
    b = yy
    c = zz    
    )
   	
    
==========================
变量不能重复定义,但是当和一个没定义过的变量一起定义又可以,不报错
name := "jack"
name,age:="rose",24       #这是ok的
    
    
我们也可以先定义,后赋值,但是必须按指定类型的那种定义,不能省

var name string

name = "jack"

fmt.Println(name)

查看变量类型

	%T查看
    a := 9999
	fmt.Printf("a的值是:%v,类型是%T", a, a)

注意

​ 1.Go 的字符串是" " !!!!!!!!!!!!

拓展

1.python代码仿泄露方案
	-方案一:启动起来,把源代码删除
    -方案二:pipinstaller  打包成可执行文件
    -方案三:做到docker镜像中---》运行容器---》-e password=授权码
2.none是对象类型,指针类型的空值,Python一切皆对象,所以可以和none比较
  但是go不行,字符串的空值是'',数字类型的空值是 0 
    
  在go中对象类型,也就是指针类型的空值是nil 
posted @   yiwufish  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示