社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
1、在go语言中变量的声明和赋值和java、c、c++等都有明显区别,
1.1、在开发go项目/程序时,目录结构(有的ide需要自己建文件结构)如下:
1.2、go程序的代码写在以 .go结尾的格式的文件中
1.3、在go中也有包的概念,且所有所有go文件必须属于一个包
1.4、下面同过代码具体简绍go语言的代码风格及变量声明与赋值
//指定所在包
package main
//导入需要的包 和java差不多,导包后可以使用包中的函数
import (
"fmt"
"strconv"
)
/*
* @Descripttion: golang中变量声明、初始化和赋值以及类型转换
* @version:
* @Author: shuai
* @Date: 2020-02-19 08:29:47
* @LastEditors: shuai
* @LastEditTime: 2020-02-19 14:49:14
*/
func main() {
//了解go中的代码风格:
//1)go中每一行只能写一条语句且不需加引号
//2) {必须在函数的()后面不能换行
//3)go也是通过main函数启动程序的 而定义函数使用func
//变量声明方式一:使用var
//注意声明过的变量必须使用否则会报错
var var1 int32
var1 = 32
fmt.Println("var1=", var1)
//变量声明方式二:省略var使用':='声明并初始化
//注意使用此方法':='左侧的变量不能是声明过的
//
var2 := 32
fmt.Println("var2=", var2)
//变量声明方式三:不指定类型,根据值判断设置类型
//注意:才方式在生命时必须初始化
var var3 = 32
fmt.Println("var3:", var3)
//变量声明方式四:多变量声明
name, age := "帅", 18
fmt.Println("姓名:", name, "年龄:", age)
//变量声明方式五:多变量声明
var (
name1 = "guai"
age1 = 18
)
fmt.Println("姓名:", name1, "年龄:", age1)
//浮点型:golang中的浮点型只有float32,float64,声明方式与int方式相同
floatVar := 12.12
floatVar2 := 12.12e2
fmt.Println("floatVar: ", floatVar)
fmt.Println("floatVar2:", floatVar2)
//字符型: Golang中没有专门的字符类型,一般使用byte保存字符
//GO的字符串与传统字符串不同,它是由字节组成的,而传统字符串由字符组成
varChar := 'q'
var varChar1 byte = 'g'
varChar2 := '乖'
//当使用byte保存中文时会出现 overflow溢出,因为中文的对应码超出了255而byte保存不了超过255的值
//需要使用int保存单个中文字符
//var VarChar3 byte = '乖'
var varChar3 int = '乖'
//注意:字符的输出需要使用格式化输出方式,否则输出的时对应的ASCII
//当使用格式化输出时需使用Printf
fmt.Println("varChar:", varChar)
fmt.Printf("varChar= %cn", varChar1)
fmt.Printf("varChar= %cn", varChar2)
fmt.Printf("varChar= %cn", varChar3)
//boolean类型
booleanVar := true
if booleanVar {
fmt.Println("booleanVar is true!")
}
//String类型
//注意:golang中的字符串一旦赋值将不能修改
varStr := "一定要乖!"
//以下语句错误:cannot assign to varStr[1]
//varStr[1] = 'a'
fmt.Println("varStr:", varStr)
//注意:在字符串赋值时可以使用""也可以使用``(反引号)反引号在键盘左上角
//区别:""可以识别转义字符 ``不会识别转义字符
varStr1 := "换行n换行"
varStr2 := `换行n换行`
fmt.Println("这里将换行:", varStr1)
fmt.Println("这里不会换行而是打印\n:", varStr2)
//字符串拼接
varStr3 := "hello" + " world"
varStr3 += "!"
fmt.Println("varStr3:", varStr3)
//类型转换
//在golang中不支持类型自动转换,需要显式转换
//基本语法 var var1 T= T(var) 例:
// varTypeCon := 12
// varTypeCon1 := float32(varTypeCon)
// fmt.Println("conversion1:", varTypeCon1)
//当浮点型转int时会损失精度
// varTypeCon := 12.9
// varTypeCon1 := int32(varTypeCon)
// fmt.Println("conversion1:", varTypeCon1)
//基本类型转字符串 fmt.Sprintf(format String,a ..interface{}) string
//format 表示被转换的数据类型对应的格式字符
// varTypeCon := 12.3
// varTypeCon1 := fmt.Sprintf("%f", varTypeCon)
// fmt.Println("conversion1:", varTypeCon1)
//字符串转值类型
//errorInf:表示返会的错误信息,在Go中函数可以有两个返回值
varTypeCon := "12.4"
varTypeCon1, errorInf := strconv.ParseFloat(varTypeCon, 32)
varTypeCon2, errorInf2 := strconv.ParseInt(varTypeCon, 32)
fmt.Println("conversion1:", varTypeCon1)
fmt.Println("error:", errorInf)
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!