- 博客(11)
- 收藏
- 关注
原创 golang-程序实体
golang的程序实体可能要了解下go编程的一些语言特性和一些编程方法和思想Go 语言中的程序实体包括变量、常量、函数、结构体和接口Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予足够的信息,这样才可以让 Go 语言能够推导出它们的类型。在 Go 语言中,变量的类型可以是其预定义的那些类型,也可以是程序自定义的函数、结构体或接口。常量的合法类型不多,只能是那些 Go 语言预定义的基本类型。它的声明方式也更简单一些。声明变量声明一个namev
2021-08-16 20:38:57
354
原创 golang-库源码文件
库源码文件库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话)。其他代码:可以与被使用的程序实体在同一个源码文件内,也可以在其他源码文件,甚至其他代码包中那么什么是程序实体?在 Go 语言中,程序实体是变量、常量、函数、结构体和接口的统称。我们总是会先声明(或者说定义)程序实体,然后再去使用。我们先定义了变量name,然后在main函数中调用fmt.Printf函数的时候用到了它。再多说一点,程序实体的名字被统称为标识符。
2021-08-12 20:05:08
333
原创 golang-命令源码文件
命令源码文件命令源码文件的用途是什么,怎样编写它?命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。我们可以通过构建或安装,生成与其对应的可执行文件,后者一般会与该命令源码文件的直接父目录同名如果一个源码文件声明属于main包,并且包含一个无参数声明且无结果声明的main函数,那么它就是命令源码文件。package mainimport "fmt"func main() { fmt.Println("Hello, world!")}如果你把这段代码存成 demo1.
2021-08-12 13:44:53
267
原创 golang-构建可复用的模块
package基本复用模块单元以首字母大写来表明可以被包外代码访问代码的package可以和所在的目录不一致同一目录里的Go代码的package要保持一致init在main执行之前,所有依赖的package的init方法都会被执行不同的包的init按照包倒入的依赖关系决定执行顺序每个包可以有多个init函数包的源文件也可以有多个init函数 – 特殊使用三方远程的package命令:// -u 使用最新版go get -u https://xxxxxxx/xxx.
2021-08-10 22:15:25
146
原创 golang错误处理与恢复
go的错误机制golang没有异常机制error类型实现了异常接口type error interface { Error() string}可以通过errors.New快速创建错误实例errors.New("n must be ddxfsefsdf")废话不多说, 来了解下go兼并python的优雅import ( "errors" "testing")func GetFebnacci(n int) ([]int, error) { if n < 2 ||
2021-08-09 23:18:12
452
原创 golang-不一样的接口,一样的多态
golang的interface我们都知道,接口是:用来定义对象之间交互的协议的所以我们写接口:实际上就是在“定义交互协议”接口与依赖如果两个类都对某个接口有依赖,那么依赖应该被抽象出来,特别的当这两个类还相互依赖,抽象出来接口,可以避免循环依赖~go 的接口 duck type定义并且实现接口// 定义type Programmer interface { writeHelloWorld() Code}// 实现一个实例type GoProgrammer struct {//
2021-08-09 19:23:03
257
原创 typescript-函数/类/接口
接口类型对象类型接口假设我要从后端获取一组数据,渲染到页面之中,我们可以这样定义:interface List { id:number; name:string;}interface Result { data:List[]}function render (result:Result) { result.data.forEach((value) => { console.log(value.id,value.name) })}let resu
2021-08-06 13:14:41
223
原创 go函数:一等公民
go函数:一等公民与其他语言的主要差异可以有多个返回值所有参数都是值传递:slice,map,channel会有传引用的错觉函数可以作为变量的值——体现一等公民函数可以作为参数和返回值——体现一等公民func returnMultiValues ()(int, int) { return rand.Intn(10), rand.Intn(20)}func TestFn(t *testing.T) (){ a,b:=returnMultiValues() t.Log(a,b
2021-08-04 14:00:49
199
原创 golang数据结构:map/set/string
map数据类型类比字典声明/初始化m:=map[string]int{ "one":1, "two":2, "three":3}m1:=map[string]int{}m1["one"]=1m2:=make(map[string]int, 10) // 这里的10 是 capacitylen(m2) // 0 为什么map初始化没有len ?length:一般初始化都会为‘零值’, 但是map是没有 ‘零值’, 字典/map的零值:就是:{}不支持cap函数的
2021-08-03 23:29:36
419
原创 golang基础数据结构
golang基础数据结构hello world// hello_world.gopackage mainimport "fmt"func main (){ fmt.Println('hello world')}运行cmdgo run hello_world.go编译cmdgo build hello_world.go会生成二进制文件,极其方便的进行系统环境迁移golang 说明程序入口main必须是package main 和 func main文件
2021-08-02 22:51:32
175
原创 typescript-类型
重塑类型思维 接口的提供方将被迫去思考API的边界,从代码的编写者蜕变为代码的设计者, typescript是javascript的超集,将动态弱类型的js,增强了类型检查束缚,让前端开发的路上走的更稳,更远。typescript静态强类型编译器:tsc: 使用tsc编译一个ts文件基本类型基于ES6新增了几种数据类型Boolean Number String Array Function Object Symbol undefined null vo.
2021-07-31 17:23:28
347
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人