go语言:开发环境搭建、变量定义、变量类型、常量、函数基础、函数是一等公民
一、开发环境的搭建
1、go环境下载地址:https://golang.google.cn/dl/
2、GoLand集成开发环境下载:
IDE 下载地址:http://www.jetbrains.com/go/?fromMenu
二、简单应用:
在命令行执行文件:
go build可以进行生成一个.exe的可执行文件
go run 编译并执行,不会生成可执行文件
//单行注释 /* 多行注释 多行注释 */ package main //表示当前go文件属于main包 import "fmt" //导入fmt包 // 编译型语言需要有一个入口文件 main包下的main函数 func main() { //定义了一个main函数 fmt.Println("hello world") //打印helloworld //a 是编辑器给你提示的,参数名是a
变量定义和使用:
注意点:
变量定义了就必须使用
变量不能重复定义

//变量 package main //表示是main包的 import "fmt" func main() { //定义变量 //方式一:全名称 go语言中。变量定义了必须使用,否则报错 //var关键字 变量名 变量类型 = 值 //var a int=10 //定义了一个int类型的a ,把10赋值给他 //fmt.Println(a) //类型推导 //var a =10 //fmt.Println(a) //简略声明 //a:=10 //fmt.Println(a) //变量不能重复定义 //var a int=10 //var a =10 ////a:=10 //fmt.Println(a) //强类型语言,类型是固定的 //var a =10 //a=100 //b:="lqz" //a=b //fmt.Println(a) //fmt.Println(b) //定义不赋初值 :int 类型默认值是0 string 类型默认值是空字符串 //var a int //a=10 //var b string //b="lqz" //fmt.Println(b) //同时定义多个变量 //var a =10 //var b=100 //var a,b int //var a,b int=10,20 //var a,b=10,20 //var a,b=10,"lqz" //a,b:=10,20 //a,b:=10,"lqz" //fmt.Println(a) //fmt.Println(b) var ( name = "naveen" age = 29 height int ) fmt.Println(name) fmt.Println(age) fmt.Println(height) }
变量的类型:
字符串的声明必须是双引号

//变量类型 package main func main() { //bool类型 0值是false //var b bool =true //var b =true //b:=true //var b bool //fmt.Println(b) //数字类型 /* int类型:表示整数,int8 int16 int32 int64 计算机最小计量单位:bit位 int8 是 8个比特位=1个字节,表示的范围是:正负2的7次方减1 在32位机器上int 就是int32 ,在64位机器上int就是int64 uint类型:表示正整数 uint8 uint16... float类型:表示小数只有float32和float64 complex64类型:复数 byte: uint8的别名 rune:int32的别名 */ //var a int=-10 //fmt.Println(a) //var a int =100000 //fmt.Println(a) //var a uint8=100 //fmt.Println(a) //var a float32=2.33 //fmt.Println(a) //字符串(必须用双引号),反引号是python中的三引号 //b:='a' //fmt.Printf("%T",b) //var a string="lqz" // var c string=`阿斯蒂芬a //手动阀afd阿斯蒂芬 //安抚 //asfd阿萨德f` //var a string="阿发" + // "按时发大水f" + // "agessdfas" + // "按时发大水发d" //fmt.Println(a) // }
常量的声明:
//常量:恒定不变的量 package main import "fmt" func main() { //var a int=10 //定义了一个常量a //const a int=10 const a =10 //a=100 fmt.Println(a) const b ="192.168.1.1" }
函数的基本使用以及函数是一等公民:

//函数 package main //func main() { //test() //test(1,2) //var a int=test(1,2) //var a =test(1,2) //var a string //a =test(1,2) //fmt.Println(a) //var a int //var b string //a,b:=test(1,2) //不要第二个返回值 //a,_:=test(1,2) //fmt.Println(a) //fmt.Printf(_) //a:=test() //fmt.Printf(a) //test(a=10,b=21) //fmt.Println(1,"lqz") //test(1,"lqz") //} //函数定义,语法 //func关键字 函数名(参数1 类型,参数2 类型) (返回值类型){} //无参数,无返回值 //func test() { // fmt.Println("xxx") // //} //有两个int类型的参数 //func test(a int,b int) { //func test(a ,b int) { //func test(a ,b int,c string) { // fmt.Println(a+b) //} //有一个数字类型返回值,一定要指定返回值类型 //func test(a,b int) int { // return a+b //} //func test(a,b int) string { // return "lqz" //} //返回多个值 //func test(a,b int) (int,string) { // return a+b,"成功" //} //命名返回值 //func test(a,b int) (c int, d string) { // c=10 // d="成功" // return //} //在go中没有位置参数和关键字参数,都是位置参数,也没有默认参数 //func test(a,b int) int { // return a+b //} //不定长参数 //func test(a ...interface{}) { // fmt.Println(a) // //} //闭包函数 //定义在函数内部,对外部作用域有引用 //go语言中,函数是一等公民,可以把函数赋值给一个变量,函数就是一等公民 //func test(a int) (int,int) { // fmt.Println("xxx") // return 1,2 // //} // //func main() { // var a func(a int)(int,int) // //var a =test // a=test // a(1) //}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)