Bazel教程:构建iOS应用[翻译]

Bazel教程:构建iOS应用

本教程包含以下步骤(Bazel新用户请先参考: Bazel入门教程):

  • 代码预览
  • 创建BUILD构建文件
  • 针对模拟器构建应用
  • 查看构建输出
  • 在模拟器环境运行/调试应用
  • 针对设备构建应用
  • 安装应用到设备

需要在 Mac OS X 环境,WORKSPACE 不用配置。

Go语言中隐式接口的冲突问题

Go语言中采用的是隐式接口, 只要满足的接口的定义, 就可以当作接口使用. 比如内置的 error 接口: type error struct { Error() string } 隐式接口的好处有很多. 但我个人觉得最主

Go语言中不同类型切片之间的相互转换

将 []T 切片转换为 []byte 类似C语言中将其他类型的数组转换为char数组: func ByteSlice(slice interface{}) (data []byte) { sv := reflect.ValueOf(slice) if sv.Kind() != reflect.Slice { panic(fmt.Sprintf("ByteSlice called with non-slice value of type %T", slice)) } h := (*reflect.SliceHeader)((unsafe.Pointer(&data))) h.Cap = sv.Cap() * int(sv.Type().Elem().Size()) h.Len = sv.Len() * int(sv.Type().Elem().Size()) h.Data