变量的命名方式: 驼峰命名法; 首字母大小写,取决于要不要挎包调用
var name string = "srebro.cn"
var age int = 21
var isOK bool = true
两种方式:
var n = 10
这种方法,var 变量名 都可以省略; 只能用于函数内,不能用于全局变量的声明
n1 := 20
n3 := "srebro"
package main
import "fmt"
func main() {
var num4, num5 int = 100, 200
var num20, num21 string = "test20", "test21"
fmt.Println(num4, num5, num20, num21)
)
}
package main
import "fmt"
func main() {
var num4, num5 int
var num20, num21 string
num4 = 100
num5 = 200
num20 = "test20"
num21 = "test21"
fmt.Println(
num4,
num5,
num20,
num21,
)
}
package main
import "fmt"
func main() {
var (
a = "srebro.cn"
b = 2025
c = true
d = 0.1
)
fmt.Println(a, b, c, d)
}
package main
import "fmt"
func main() {
var (
a string
b int
c bool
d float32
)
a = "srebro.cn"
b = 2025
c = true
d = 0.1
fmt.Println(a, b, c, d)
}
const HTTP_STATUS_OK = 200
const SITE = "srebro.cn"
const SITE_AGE = 3
const (
SITE_NAME = "srebro.cn"
SITE_NAME_WEB = "https"
)
const (
A = 100
B
C
D
)
Println:
Print:
Printf
格式化输出
,在很多场景下比Println 更方便fmt.Sprintf 跟Printf 一样,返回字符串,不打印,常用于变量的拼接以及赋值
package main
import "fmt"
func main() {
//fmt 包的使用
//fmt.Println
//一次输入多个值的时候,中间会有空格,println 会自动换行
fmt.Println("srebro.cn", "www", "https")
fmt.Println("srebro.site", "www", "https")
//fmt.print,则不会
fmt.Print("srebro.cn", "www", "https")
fmt.Print("srebro.site", "www", "https")
//fmt.Printf,格式化输出,可以将不同的类型,拼接成字符串输出
// %s 字符串 %d 数字 %v 值 %T 类型
fmt.Printf("\n %s-%d-%v-%T", "dbc", 10, true, 10)
//fmt.Sprintf 跟Printf 一样,返回字符串,不打印,常用于变量的拼接以及赋值
//一般用于不同类型拼接成字符串
//fmt.Sprintf("\n %s %d %v %T", "abc", 10, true, 10)
a := fmt.Sprintf("\n %s %d %v %T", "abc", 20, true, 10)
fmt.Printf(a)
}
// Go语言程序的默认入口函数(主函数):func main()
// 函数体用{}一对括号包裹
func main(){
//函数体
}
init
函数用于包package的初始化,该函数是go 语言的一个重要特性。package main
import "fmt"
// Go语言程序的默认入口函数(主函数):func main()
// 函数体用{}一对括号包裹
func init() {
fmt.Println("我是init函数")
}
func main(){
//函数体
fmt.Println("我是mian函数")
}
名。
露的则应该以小写字母开头。
那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个
包),这被称为导出(像面向对象语言中的 public);
面向对象语言中的 private )
包名称
文件命令
结构体命名
采用驼峰命名法,首字母根据访问控制大写或者小写struct申明和初始化格式采用多行,例如
下面:
type MainConfig struct {
Port string `json:"port"`
Address string `json:"address"`
}
接口命名命名规则基本和上面的结构体类型单个函数的结构名以 “er” 作为后缀,例如 Reader
,Writer 。
type Reader interface {
Read(p []byte) (n int, err error)
}
变量命名
和结构体类似,变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写 但遇到特有名词时,需要遵循以下规则:如果变量为私有,且特有名词为首个单词,则使用小写
如 appService若变量类型为 bool 类型,则名称应以 Has, Is, Can 或 Allow 开头
var isExist bool
var hasConflict bool
var canManage bool
var allowGitHook bool
类型
type Scheme string
const (
HTTP Scheme = "http"
HTTPS Scheme = "https"
)