Maison > Article > développement back-end > Pourquoi devriez-vous envisager des systèmes de construction alternatifs pour le développement Go ?
Systèmes de construction alternatifs pour le développement Go
Bien que Go soit livré avec son propre Makefile pour les programmes de construction, les développeurs peuvent rechercher des systèmes de construction alternatifs offrant des fonctionnalités ou un flux de travail de développement différent.
populaires Build Systems
Plusieurs systèmes de build populaires ont ajouté la prise en charge de Go, notamment :
Exemple de Scons
Pour illustrer l'utilisation de Scons avec Go , voici un exemple de fichier SConstruct :
archs = {'amd64': '6', '386': '8', 'arm': '5',} def gc(source, target, env, for_signature): targets = target[0] sources = ' '.join(str(s) for s in source) flags = '' for include in env.get('GOINCLUDE', []): flags += '-I %s ' % (include) return '%s -o %s %s %s' % (env['GOCOMPILER'], targets, flags, sources) def ld(source, target, env, for_signature): targets = target[0] sources = ' '.join(str(s) for s in source) return '%s -o %s %s' % (env['GOLINKER'], targets, sources) def _go_object_suffix(env, sources): return "." + archs[env['ENV']['GOARCH']] def _go_program_prefix(env, sources): return env['PROGPREFIX'] def _go_program_suffix(env, sources): return env['PROGSUFFIX'] go_compiler = Builder(generator=gc, suffix=_go_object_suffix, src_suffix='.go',) go_linker = Builder(generator=ld, prefix=_go_program_prefix, suffix=_go_program_suffix,) # Create environment import os env = Environment(BUILDERS={'Go': go_compiler, 'GoProgram': go_linker}, ENV=os.environ,) arch_prefix = archs[os.environ['GOARCH']] env.SetDefault(GOCOMPILER=os.path.join(os.environ['GOBIN'], arch_prefix + 'g')) env.SetDefault(GOLINKER=os.path.join(os.environ['GOBIN'], arch_prefix + 'l')) # Build programs # Modify this to suit your program main_package = env.Go(target='main', source='main.go') program = env.GoProgram(target='program', source=[main_package])
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!