在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我想吐槽下网上的很多所谓的“零基础教程”,因为那根本不算零基础。就拿语言教程来说,一上来就说怎么定义变量的怎么算零基础呢?零基础应该是先告诉你啥叫变量。 所以我从不起零基础的标题。我这也不是教程,只是我的一个记录。当然我会做笔记很仔细。
变量go语言的变量定义跟JavaScript很像,也是用 var: var name = "jay"
但它也不同,作为静态语言,他可以定义变量的同时指定变量类型: var name string = "jay"
如果你定义变量时直接赋值而没有指定类型,会进行类型推断的,所以这样是错的: var age = 12
age = "20" // 因为age初始化时被推断为int型,所以不可以变为string型。(注意:赋值操作要在函数里执行。)
除此之外,以下也是错误的,红色警示下: var name // 定义变量时,既不赋值也不指定类型,错误
var str = 'hello,world' // 字符串不可以使用单引号,单引号在 go 中表示一个字符
批量声明go 支持批量定义变量,两种方式: // 方式一 var age,name = 12,"jay" // 方式二 var ( a = 1 b = "hello" )
短变量声明在函数内部,你可以使用一种更简单的方式定义变量: package main import ( "fmt" ) // 全局变量m var m = 1 func main() { n := 2 m := 3 // 函数内部可使用更简单的变量定义方式 fmt.Println(m, n) }
匿名变量匿名变量用一个下划线 var a,_ = 1,2 var _,b = 3,4 // _ 不会报重复声明的错误 func main() { fmt.Println(a) //1 fmt.Println(b) //4 fmt.Print(_) // 报错,因为 _ 不是一个值 }
常量go 中的常量跟 es6 中的也像,也是使用 const : const pi = 3.1415
const e = 2.7182
常量被定义时必须赋值,并且后续不能再改变常量的值。
多个常量一起定义: const ( pi = 3.1415 e = 2.7182 )
const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。 例如: const( a = 10 b c ) const( a,b,c的值都是10
iota这是一个有趣的东西。iota 是 go 语言的常量计数器,只能在常量的表达式中使用。 iota 在 const 关键字出现时将被重置为 0。const 中每新增一行常量声明将使 来看几个例子: const( a = iota // 0 b // 1 c // 2 ) const( const( 你有get到它的点吗?
就这样。 |
请发表评论